Python多列表迭代

标签 python list iteration

有没有一种聪明的方法可以在 Python 中迭代两个列表(不使用列表理解)?

我的意思是,像这样:

# (a, b) is the cartesian product between the two lists' elements
for a, b in list1, list2:
   foo(a, b)

代替:

for a in list1:
    for b in list2:
        foo(a, b)

最佳答案

itertools.product()正是这样做的:

for a, b in itertools.product(list1, list2):
  foo(a, b)

它可以处理任意数量的迭代器,从这个意义上说,它比嵌套的 for 循环更通用。

关于Python多列表迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10418575/

相关文章:

python - for 循环在特定索引后与 python 不工作

python - 如何通过命令行下载节的模型?

r - 使用数据框列表的公共(public)列创建数据框 - R

c# - 迭代不同数据类型的列表?

python - 分多个步骤填写列表

c++ - 遍历未知大小的数组 C++

java - NumberFormatException 的含义是什么以及如何解决它?

r - 带有索引向量的子集列表

java - 迭代和递归解决方案的时间复杂度

python - 使用 PRAW 提交帖子