from random import randint
a1 = [randint(10, 50) for _ in range(5)]
a2 = [randint(10, 50) for _ in range(5)]
a3 = [randint(10, 50) for _ in range(5)]
a4 = []

例一:并行操作:在一个for循环中实现多个列表的并行迭代;

方案:使用内置函数zip,将多个迭代对象合并,每次迭代返回一个元组

案例:对3个列表同时迭代,计算各列表对应元素的和;

#方法一:直接用for循环引用
#弊端:只能支持引索操作:a1[],若操作对象是生成器,则不能实现;
for i in range(5):
t = a1[i] + a2[i] + a3[i]
a4.append(t) print(a4)
#输出:[84, 67, 85, 88, 82] #方法二:用内置函数zip()
for x, y, z in zip(a1, a2, a3):
a4.append(x + y + z) print(a4)
#输出:[44, 72, 73, 94, 130]

例二:川行操作:在一个for循环中实现多个列表的川行迭代;

方案:使用标准库itertools.chain,它能使多个迭代对象连接

itertools.chain的使用,也可参考:Python:itertools库的使用

场景一:
from itertools import chain
b1 = [1, 2, 3, 4]
b2 = ['a', 'b', 'c']
b3 = list(chain(b1, b2)) print(b3)
#输出:[1, 2, 3, 4, 'a', 'b', 'c']

场景二:
for x in chain(b1, b2):
print(x)
#输出:1 2 3 4 a b c

案例:对4个列表进行迭代操作,筛选出目标数据(大于40的个数):

from itertools import chain
from random import randint
a1 = [randint(10, 50) for _ in range(40)]
a2 = [randint(10, 50) for _ in range(41)]
a3 = [randint(10, 50) for _ in range(42)]
a4 = [randint(10, 50) for _ in range(43)]
count = 0 for x in chain(a1, a2, a3, a4):
if x >=40:
count += 1 print(count)

问题13:如何在for语句中迭代多个可迭代的对象的更多相关文章

  1. 【笔记】如何在for语句中迭代多个可迭代对象

    并行=>使用内置函数zip,它能将多个可迭代对象合并,每次迭代返回一个元组. for i,j,k in zip(a,b,c): TODO 穿行=>使用标准库中的itertools.chai ...

  2. Sql语法高级应用之六:如何在Sql语句中如何使用TRY...CATCH

    TRY...CATCH使用范例 BEGIN TRY //逻辑语句块 END TRYBEGIN CATCH //Catch异常处理块 SET @msg = ERROR_MESSAGE(); PRINT ...

  3. mybatis的xml中sql语句中in的写法(迭代遍历)

    这里使用 foreach标签 <foreach  item="item" collection="listTag" index="index&q ...

  4. python迭代-如何在一个for语句中迭代多个可迭代对象

    如何在一个for语句中迭代多个可迭代对象 问题举例 (1)某班学生期末考试成绩,语文,数学,英语分别存储在3个列表中,同时迭代三个列表,计算每个学生的总分 (2)某年级有4个班,某次考试每班英语成绩分 ...

  5. 如何在一个for语句中迭代多个对象(2.7)

    如何在一个for语句中迭代多个对象 总结: 并行迭代使用zip(l1, l2, l3) 每次迭代从3个列表里各取一个数据 串行迭代使用itertools.chain(l1, l2, l3) 相当于把3 ...

  6. 8、如何实现可迭代对象和迭代器对象 9、如何使用生成器函数实现可迭代对象 10、如何进行反向迭代以及如何实现反向迭代 11、如何对迭代器做切片操作 12、如何在一个for语句中迭代多个可迭代对象

    8.如何实现可迭代对象和迭代器对象 PS:注意重载Iterator方法的时候,需要和原来的方法名一样,否则创建实例时会报错 from collections import Iterator,Itera ...

  7. Python-如何在一个for循环中迭代多个可迭代对象?

    案例: 某班学生期末考试成绩,语文.数学.英语分别存储在3个列表中,同时迭代三个列表.,计算每个学生的总分(并行) 某年级有4个班,某次英语成绩分别记录在4个列表中,依次迭代每个列表,统计全年级高于9 ...

  8. JAVA中的for-each循环与迭代

    在学习java中的collection时注意到,collection层次的根接口Collection实现了Iterable<T>接口(位于java.lang包中),实现这个接口允许对象成为 ...

  9. sql语句中获取datetime的日期部分或时间部分

    sql语句中获取datetime的日期部分 sql语句中 经常操作操作datetime类型数据.今天在写一个存储过程的时候需要将 一个datetime的值的 日期部分提取出来.网上有许多这方面的介绍. ...

随机推荐

  1. zabbix_get 命令介绍

    zabbix_get 是 zabbix 服务端的一个命令,用于检测 agent 端的配置是否正确,可以很方便地知道 key 是否能正常获取到数据,在测试自定义监控的时候特别有用 [root@crazy ...

  2. Latex: Expression under summation on multiple lines

    Purpose Describe the sum symbol like this: zebk=1Nk∑i∈Rkj∈W(i)∩Rkmax(fi−fj) Solution code z_{ebk}=\f ...

  3. [iOS]通过JS调用iOS函数时的URL编码问题

    在前面的文章:[iOS]在WebApp中怎样使用JS调用iOS的函数 中,提到了怎样使用JS通过改动URL调用iOS的内部函数. 当中会遇到一个问题,就是编码问题.比方通过URL调用弹窗,在里面写上内 ...

  4. antd-mobile的例子--cnode

    antd-mobile    简单的例子 预览地址 https://shenggen1987.github.io/antd-mobile-roadhog/#/crm/pages/users githu ...

  5. Property Animator基本用法

    ObjectAnimator anim=ObjectAnimator.ofFloat(textview, "alpha", 0f, 1f); //ObjectAnimator an ...

  6. 4G U盘版64位bitcoin专用挖矿操作系统

    这个操作系统是基于linux的操作系统,采用的ubuntu平台打造,所有的软件都已经安装齐备,是一个bitcoin专用挖矿操作系统,是64位的,对于显卡数量基本上没有限制,前提是你的主板支持足够多的显 ...

  7. 设置某个字段为null

    update 表名 set 字段名=null WHERE 条件如下例子 update dwtz set ggid=null WHERE name_of_invested_company='浙江海翔药业 ...

  8. HDU - 5703 Desert 【找规律】

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5703 题意 给出一杯容量为N的水 每次至少喝1个单位 有多少种不同的方式喝完 比如 给出3 就有4种方 ...

  9. 每天一个Linux命令(20)find命令_exec参数

    find命令的exec参数,用于find查找命令完成以后的后续操作.     (1)用法: 用法:  [find命令]  [-exec  其他命令 {} \;]     (2)功能: 功能:-exec ...

  10. 第三篇、dom操作续

    一.属性操作 属性操作 attributes // 获取所有标签属性 setAttribute(key,value) // 设置标签属性 getAttribute(key) // 获取指定标签属性 r ...