您的位置:首页 > 其它

【慕课网】如何在一个for语句中迭代多个可迭代对象?

2018-03-18 01:47 330 查看
# 如何在一个for语句中迭代多个可迭代对象?
# 1 :某班学生期末考试成绩,语文,数学,英语 分别存储在3个列表中,同时迭代三个列表,计算每个学生的总分(并行)
# 2:某年级有4个班,某次考试每班英语成绩 分别存储在4个列表中,依次迭代每个列表,统计全学年成绩高于90分数人数(串行)
from random import  randint
from itertools import chain

def main():
chinese = [randint(60, 100) for _ in range(40)]
math = [randint(60, 100) for _ in range(40)]
enlish = [randint(60, 100) for _ in range(40)]
# 有局限性 如果是生成器的话就无法使用
for i in range(len(math)):
sum=chinese[i]+math[i]+enlish[i]
# print(sum)
# 可以通过zip的方式尝试
z=zip([1,2,3,7],('a','b','c','d'),(7,8,9,10),'a1232')
print(list(z))
total=[]
for c,m,e in zip(chinese,math,enlish):
total.append(c+m+e)
print(total)

pass

def main2():
e1 = [randint(60, 100) for _ in range(45)]
e2 = [randint(60, 100) for _ in range(42)]
e3 = [randint(60, 100) for _ in range(60)]
e4 = [randint(60, 100) for _ in range(40)]
# print(list(chain([1,2,3,4],('a','b','c'))))

# for x in chain([1,2,3,4],('a','b','c')):
#     print(x)
count=0
for s in chain(e1,e2,e3,e4):
if(s>90):
count+=1
print(count)

pass

main2()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: