入门使用

# 示例代码
warframe = ["saryn", "wisp", "volt"]
counts = [len(n) for n in warframe] for i,j in zip(warframe,counts):
print(f"name is {i}, len is {j}") # name is saryn, len is 5
# name is wisp, len is 4
# name is volt, len is 4

每次循环时,zip函数会从迭代器里获取各自的下一个元素,并把这些值放在一个元组里面。而这个元组可以拆分到 for 语句里的变量中。

处理迭代元素数量不一致问题

如果两个可迭代元素数量不一致,那么只要其中任何一个迭代器遍历结束,zip函数就会终止。

warframe = ["saryn", "wisp", "volt"]
fans = [10,20,30,40]
for i,j in zip(warframe,fans):
print(i,j)
# saryn 10
# wisp 20
# volt 30

这时候应该换用zip_longest函数,它封装在itertools模块中。

from itertools import zip_longest
for i,j in zip_longest(warframe,fans):
print(i,j)
# saryn 10
# wisp 20
# volt 30
# None 40

迭代更多可迭代对象

warframe = ["saryn", "wisp", "volt"]
counts = [len(n) for n in warframe]
fans = [10,20,30,40] for i,j,k in zip(warframe,counts,fans):
print(i,j,k) # saryn 5 10
# wisp 4 20
# volt 4 30

【python笔记】使用zip函数迭代多个可迭代对象的更多相关文章

  1. python开发笔记之zip()函数用法详解

    今天分享一篇关于python下的zip()函数用法. zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素按顺序组合成一个tuple,每个tuple中包含的是原 ...

  2. python中使用zip函数出现<zip object at 0x02A9E418>

    在Python中使用zip函数,出现<zip object at 0x02A9E418>错误的原因是,你是用的是python2点多的版本,python3.0对python做了改动 zip方 ...

  3. python中的 zip函数详解

    python中zip()函数用法举例 定义:zip([iterable, ...]) zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple ...

  4. 【Python基础】zip函数的使用

    zip函数的使用 描述 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同, ...

  5. python中的zip()函数和map()函数

    一.zip()函数 1.语法: zip(iterable, ...) 参数说明: iterable,...-- 一个或多个迭代器; 在python2中: zip() 函数用于将可迭代的对象作为参数,将 ...

  6. guxh的python笔记二:函数基础

    1,函数的参数 1.1,查看函数的参数类型 def run(a, *args, b, **kwargs): return a + b 可以通过如下方式查看参数类型: import inspect k ...

  7. python笔记21-内置函数

    # print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真# print(any([0,0,0,0,0]))#判断可迭代的对象里面的值是否有一个为真# print(bin(10 ...

  8. python笔记之强制函数以关键字参数传参

    最近学习python,学到了函数传参,看到了以下这个特殊情况,特此来做个笔记 def add(*, x, y): print(x, y) 以上函数定义后,该怎么传参?前面的那个*号是做什么用的? 我们 ...

  9. python笔记-调用eval函数出现invalid syntax错误

    本来是想打算使用eval函数对变量进行赋值的,没想到出现了invalid syntax错误.源代码如下 In [2]: eval('a = 1') File "<string>& ...

  10. python笔记六(函数的参数、返回值)

    一 调用函数 在写函数之前,我们先尝试调用现有的函数 >>> abs(-9) 9 除此之外,还有我们之前使用的len()等.可以用于数据类型转换的 int() float() str ...

随机推荐

  1. SQL Server 2005递归查询

    WHIT XXX(列1,列2....) AS ( SELECT 列1,列2... FROM 表WHERE ID=xxxxxx UNION ALL SELECT 列1,列2.... FROM 表 WHE ...

  2. #Python 利用pandas 合并csv/xlsx文件

    上次我们分享了利用powerquery来合并文件进行数据分析,但是Pq有一部分局限性,在现实工作中,我们往往需要合并多个文件去处理数据, 如果面对20个甚至更多的文件,pq中的每一步的步骤都会去读取每 ...

  3. 2021-06-11:给定两个字符串s1和s2,问s2最少删除多少字符可以成为s1的子串? 比如 s1 = “abcde“,s2 = “axbc“。

    2021-06-11:给定两个字符串s1和s2,问s2最少删除多少字符可以成为s1的子串? 比如 s1 = "abcde",s2 = "axbc". 福大大 答 ...

  4. 2021-11-11:打乱数组。给你一个整数数组 nums ,设计算法来打乱一个没有重复元素的数组。实现 Solution class:Solutio(int[] nums) 使用整数数组 nums

    2021-11-11:打乱数组.给你一个整数数组 nums ,设计算法来打乱一个没有重复元素的数组.实现 Solution class:Solutio(int[] nums) 使用整数数组 nums ...

  5. 【实践篇】教你玩转JWT认证---从一个优惠券聊起

    引言 最近面试过程中,无意中跟候选人聊到了JWT相关的东西,也就联想到我自己关于JWT落地过的那些项目. 关于JWT,可以说是分布式系统下的一个利器,我在我的很多项目实践中,认证系统的第一选择都是JW ...

  6. C++面试八股文:struct、class和union有哪些区别?

    某日小二参加XXX科技公司的C++工程师开发岗位5面: 面试官:struct和class有什么区别? 小二:在C++中,struct和class的唯一区别是默认的访问控制.struct默认的成员是pu ...

  7. 非 root 用户手动编译安装 GCC

    我们知道,关于 GCC 在 CentOS 下通过 yum 安装默认版本号,CentOS 5 是 4.1.2:CentOS 6 是 4.4.7:CentOS 7 是 4.8.3.很多时候在编译安装软件都 ...

  8. 10. Mybatis的缓存

    1. Mybatis 的一级缓存 ‍ 一级缓存是 SqlSession 级别的,通过同一个 SqlSession 查询的数据会被缓存,下次查询相同的数据,就会从缓存中直接获取,不会从数据库重新访问 , ...

  9. pta第三阶段题目集

    (1)前言 pta第三阶段作业中,主要包含了如下的主要内容: 1.全程贯穿了课程设计的程序,每一次都是上一次的迭代和修改,难度较大,中间涉及到先是类与类之间的多态和继承关系,后面的修改中,转变为了组合 ...

  10. 4.3 x64dbg 搜索内存可利用指令

    发现漏洞的第一步则是需要寻找到可利用的反汇编指令片段,在某些时候远程缓冲区溢出需要通过类似于jmp esp等特定的反汇编指令实现跳转功能,并以此来执行布置好的ShellCode恶意代码片段,LyScr ...