3-6在一个for语句中迭代多个可迭代对象
2017-03-23 19:02
465 查看
# -*- coding:utf-8 -*- """ 实际案例: 1.某班学生期末成绩,语文,数学,英语分别存储在3个列表中, 同时迭代三个列表,计算每个学生的总分.(并行) 2.某年及有4个班,某次考试每班英语成绩分别存储在4个列表中, 依次迭代每个列表,统计全学年成绩高于90分人数.(串行) 解决方案: 并行: 使用内置函数zip,它能将多个可迭代对象合并,每次迭代返回一个元组. 串行: 使用标准库中的itertools.chain,它能将多哥可迭代对象连接. """ from random import randint from itertools import chain chinese = [randint(60, 100) for _ in range(40)] math = [randint(60, 100) for _ in range(40)] english = [randint(60, 100) for _ in range(40)] total = [] for i in range(len(math)): total.append(chinese[i] + math[i] + english[i]) # 局限:如果chinese, math, english不是列表,而是生成器的话,将不能用索引访问 total1 = [] # zip([1,2,3,4], ('a','b','c')) # 在前后两个对象的size不同时,生成的是[(1,'a'),(2,'b'),(3,'c')] for c, m, e in zip(chinese, math, english): # 对元组进行'拆包'迭代 total1.append(c + m + e) print(total1) e1 = [randint(60, 100) for _ in range(40)] e2 = [randint(60, 100) for _ in range(40)] e3 = [randint(60, 100) for _ in range(40)] e4 = [randint(60, 100) for _ in range(40)] count = 0 for x in chain(e1, e2, e3, e4): if x > 90: count += 1 print(count)
相关文章推荐
- python-10-如何在一个for语句中迭代多个可迭代对象?
- python 3-6 如何在一个for语句中迭代多个可迭代对象zip/itertools.chain
- 如何在一个for语句中迭代多个可迭代对象
- 【慕课网】如何在一个for语句中迭代多个可迭代对象?
- python_如何在一个for循环中迭代多个可迭代对象?
- 【笔记】如何在for语句中迭代多个可迭代对象
- Python高级编程-如何在在一个for循环中迭代多个可迭代对象
- C#--第2周实验--任务四--编写一个控制台应用--分别使用for,while,do-while循环语句计算 n!
- 一个SELECT语句引发的迭代(SELECT @local_variable = expression 的妙用)
- 字符串对象、for循环语句
- 黑马程序员——各种for循环语句的一个总结
- js中用于对象的语句——with和for...in语句学习专题
- 存储过程中使用RETURN语句返回数值,.Net里用ExecuteScalar方法结果将会导致一个未引用到具体对象的异常
- 有关对象克隆和使用了prototype后,for..in语句的问题
- 一个处理SQL语句的Object对象
- 原创---switch(T obj)选择语句如何判断是某一个对象
- 学习effective java-2创建和销毁对象之当类有多个构造参数时,请考虑使用一个builder来创建对象
- 一个SELECT语句引发的迭代(SELECT @local_variable = expression 的妙用)
- for 语句括号中只有一个冒号
- 第一章 一个入门实例 1.3 for循环语句