【python笔记】使用zip函数迭代多个可迭代对象

简介: 【python笔记】使用zip函数迭代多个可迭代对象

入门使用

# 示例代码
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
相关文章
|
6天前
|
Python
【python从入门到精通】-- 第五战:函数大总结
【python从入门到精通】-- 第五战:函数大总结
27 0
|
2天前
|
Python
Python之函数详解
【10月更文挑战第12天】
Python之函数详解
|
3天前
|
存储 数据安全/隐私保护 索引
|
5天前
|
索引 Python
Python中的其他内置函数有哪些
【10月更文挑战第12天】Python中的其他内置函数有哪些
7 1
|
5天前
|
开发者 索引 Python
Python中有哪些内置函数
【10月更文挑战第12天】Python中有哪些内置函数
8 0
|
6天前
|
存储 C++ Python
[oeasy]python037_ print函数参数_sep分隔符_separator
本文介绍了Python中`print`函数的`sep`参数,即分隔符。通过回顾上文内容,解释了类型与`type`的概念,并强调了参数类型的重要性。文章详细探讨了`print`函数如何使用`sep`参数来分隔输出值,默认分隔符为空格(序号32)。还讨论了如何修改分隔符为其他字符,如冒号,并解释了为何反斜杠需要使用双反斜杠表示。最后,文章追溯了`sep`名称的由来,以及相关词汇的历史背景,如盎格鲁-萨克逊人的武器和语言。
12 0
|
9天前
|
存储 大数据 数据处理
理解Python中的生成器:高效迭代的秘密
【10月更文挑战第8天】理解Python中的生成器:高效迭代的秘密
23 0
|
5月前
|
索引 Python
|
5月前
|
机器学习/深度学习 算法 Python
Python迭代法Iteration的讲解及求解海藻问题、方程问题实战(超详细 附源码)
Python迭代法Iteration的讲解及求解海藻问题、方程问题实战(超详细 附源码)
135 0
|
9天前
|
存储 程序员 开发者
Python编程基础:从入门到实践
【10月更文挑战第8天】在本文中,我们将一起探索Python编程的奇妙世界。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的信息。我们将从Python的基本概念开始,然后逐步深入到更复杂的主题,如数据结构、函数和类。最后,我们将通过一些实际的代码示例来巩固我们的知识。让我们一起开始这段Python编程之旅吧!