DDV89601_o 2024-01-01 14:10 采纳率: 100%
浏览 7
已结题

如何用Python搜取两个列表中的数并对应到文件中

def save(content):
    filename='result.txt'
    with open(filename,mode='w')as fp:
        fp.write(str(content))
s=[35,31,41,28,45,45,50,30,56,49,38,38,51,57,26,32,45,33,56,28,
   42,36,35,44,37,47,28,59,46,50,47,32,52,39,47,35,55,29,37,43,
   39,34,55,35,41,55,36,59,46,57,41,47,52,27,42,36,32,43,32,
   40,49,39,53,37,34,36,56,43,48,51,32,35,38,43,47,48,34,57,31,55,
   31,40,47,41,36,34,30,44,55,50,59,28,33,47,48,43,33,53,38,27,50,
   55,43,32,44,53,31,55,33,40,49,58,40,53,49,46,27,52,25,43,47,49,
   49,35,49,25,47,43,59,25,58,57,54,31,43,33,47,30,34,35,27,40,
   25,25,27,27,50,45,47,34,51,44,27,33,57,53,50,52,50,36,54,49,
   38,45,31,40,59,32,34,50,46,52,28,34,59,52,59,32,34,48]
t=[1,1,1,0,1,1,0,0,1,0,1,0,1,0,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,0,
   1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,0,1,0,0,1,0,0,0,
   0,0,0,1,1,1,0,1,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,0,1,0,0,1,1,0,
   1,0,1,0,0,1,1,0,0,0,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,1,0,
   0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,0,1,1,0,
   0,1,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0]

列表s表示教职工的年龄,列表t是对应的调查结果,1表示已接种疫苗,0表示未接种
编写程序统计30~50岁(包括30,50)已接种疫苗的教职工数,并存入‘result.txt’中
如何用Python解决此类问题

  • 写回答

3条回答 默认 最新

  • 梦幻精灵_cq 2024-01-01 15:46
    关注
    • 用zip函数遍历统计数据,记录符合条件的信息就好。

      代码运行效果截屏图片

      img

    python代码

    #!/sur/bin/nve python
    # coding: utf-8
    
    
    def save(content):
        filename='result.txt'
        with open(filename,mode='w')as fp:
            fp.write(str(content))
    
    s=[35,31,41,28,45,45,50,30,56,49,38,38,51,57,26,32,45,33,56,28,42,36,35,44,37,47,28,59,46,50,47,32,52,39,47,35,55,29,37,43,39,34,55,35,41,55,36,59,46,57,41,47,52,27,42,36,32,43,32,40,49,39,53,37,34,36,56,43,48,51,32,35,38,43,47,48,34,57,31,55,31,40,47,41,36,34,30,44,55,50,59,28,33,47,48,43,33,53,38,27,50,55,43,32,44,53,31,55,33,40,49,58,40,53,49,46,27,52,25,43,47,49,49,35,49,25,47,43,59,25,58,57,54,31,43,33,47,30,34,35,27,40,25,25,27,27,50,45,47,34,51,44,27,33,57,53,50,52,50,36,54,49,38,45,31,40,59,32,34,50,46,52,28,34,59,52,59,32,34,48]
    t=[1,1,1,0,1,1,0,0,1,0,1,0,1,0,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,0,1,0,0,1,0,0,0,0,0,0,1,1,1,0,1,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,0,1,0,0,1,1,0,1,0,1,0,0,1,1,0,0,0,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,1,0,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,0,1,1,0,0,1,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0]
    
    result = [] # 30~50已接种疫苗统计列表初值。
    
    for i in zip(s, t): # 遍历统计数据。
        
        if 30 <= i[0] <= 50 and i[1]:
            result += [i] # 这里也可以是[1]。
        else:
            result += [0]
    
    print(f"\n统计结果数据:\n{result}\n共计{len([i for i in result if i])}人。") # 调试用语句。
    save(result) # 统计结果写入文件。
    
    

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月9日
  • 已采纳回答 1月1日
  • 修改了问题 1月1日
  • 创建了问题 1月1日

悬赏问题

  • ¥20 c语言写的8051单片机存储器mt29的模块程序
  • ¥60 求直线方程 使平面上n个点在直线同侧并且距离总和最小
  • ¥50 java算法,给定试题的难度数量(简单,普通,困难),和试题类型数量(单选,多选,判断),以及题库中各种类型的题有多少道,求能否随机抽题。
  • ¥50 rk3588板端推理
  • ¥250 opencv怎么去掉 数字0中间的斜杠。
  • ¥15 这种情况的伯德图和奈奎斯特曲线怎么分析?
  • ¥250 paddleocr带斜线的0很容易识别成9
  • ¥15 电子档案元素采集(tiff及PDF扫描图片)
  • ¥15 flink-sql-connector-rabbitmq使用
  • ¥15 zynq7015,PCIE读写延时偏大