当前分类:python>>正文

如何在 Python 中循环访问多个列表

来源:互联网   更新时间:2023年6月6日  

从一个简单的 for 循环开始,然后探索使用 zip 和 zip_longest 函数等。

在 Python 中循环访问列表

最简单的方法是使用 for 循环遍历列表的每个元素。

url=['www','6yj','net']
for i in url:
    print(i)

另一种方法是使用索引访问列表中的每个元素。

url=['www','6yhj','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()函数。

本文固定链接:https://6yhj.com/leku-p-4239.html  版权所有,转载请保留本地址!
[猜你喜欢]

标签: python基础