如何在 Python 中循环访问多个列表
循环访问列表是 Python 中最基本的技能之一。在某些情况下,可能会发现自己必须并行遍历多个列表,从每个列表中获取一个元素并对其执行操作。
在本文中,我们将学习如何以最好地方法循环访问 Python 中的多个列表。我们将从一个简单的 for 循环开始,然后探索使用 zip 和 zip_longest 函数等。
在 Python 中循环访问列表
最简单的方法是使用 for 循环遍历列表的每个元素。
url=['www','Zbxx','net']
for i in url:
print(i)
另一种方法是使用索引访问列表中的每个元素。
url=['www','Zbxx','net']
n=len(url)
for i in range(n):
print(url[i])
在 Python 中循环访问多个列表
当我们访问存储在不同列表中有关联的数据时,需要迭代访问多个列表。
可以使用基于索引的迭代。使用相同的索引从每个列表中获取一个元素,得到成对数据。
xs=['小张','小王','小李']
cj=[96,90,98]
n=len(xs)
for i in range(n):
stu=xs[i]
score=cj[i]
print(stu,"的成绩是:",score)
使用 zip() 函数循环访问多个列表
在 Python 中迭代多个列表有一个更简单的替代方法:zip()函数。这个函数,允许并排迭代两个或多个列表。
xs=['小张','小王','小李']
cj=[96,90,98]
for stu,score in zip(xs,cj):
print(stu,"的成绩是:",score)
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。
使用 zip_longest() 函数访问多个列表
如果每个列表中具有不同数量的元素,zip() 函数是按照最短列表中的元素进行迭代。例
xs=['小张','小王']
nl=[13,12,15]
cj=[96,90,98]
for stu,age,score in zip(xs,nl,cj):
print(f"{stu}今年{age}岁,成绩是:{score}")
#输出:
#小张今年13岁,成绩是:96
#小王今年12岁,成绩是:90
如果要访问所有列表中的所有元素,可以改用 zip_longest() 函数。该函数访问所有元素,甚至是最长列表中的元素。
from itertools import zip_longest
xs=['小张','小王']
nl=[13,12,15]
cj=[96]
for stu,age,score in zip_longest(xs,nl,cj):
print(f"{stu}今年{age}岁,成绩是:{score}")
#输出:
#小张今年13岁,成绩是:96
#小王今年12岁,成绩是:None
#None今年15岁,成绩是:None
正如我们所看到的,当你需要在 Python 中循环访问多个列表时,如果希望以最短列表长度为标准,请使用 zip() 函数;如果要访问所有列表中的每个元素,请使用 zip_longest()函数。
?
文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!
?