双重迭代

2024-04-27 16:55:27 发布

您现在位置:Python中文网/ 问答频道 /正文

Possible Duplicate:
How to iterate over two lists - python

我想同时迭代两个项目,在我看来这个迭代是这样的:

for elem1 in list 1 and for elem2 in list2:
    do something to elem1; do something to elem2

然而,这种语法是不可接受的。为了清楚起见,我不是在谈论嵌套的for循环,因为这样我将遍历第一个列表中每个元素的整个列表。我想在两个列表上进行迭代。有没有Python式的方法可以做到这一点?在


Tags: toin列表fordosomethinglistshow
1条回答
网友
1楼 · 发布于 2024-04-27 16:55:27

使用^{}

for elem1, elem2 in zip(list1, list2):

如果这些列表中的一个比另一个长,则您不会看到超出较短列表长度的元素。在

在Python2上,zip()会导致两个列表的副本压缩在一起,对于大的列表,这可能会增加内存负担。对这样大的列表使用^{},它将返回一个迭代器。在Python3上,zip()本身已经返回了一个迭代器。在

如果您需要循环使用最长列表(并为缺少的较短列表元素填充填充值),请改用^{}

^{pr2}$

相关问题 更多 >