我一直在通过不等长的列表(例如one)来遍历有关迭代的问题,但我一直找不到能满足我的确切要求的问题。
我有两个长度不等的列表:
list_1 = ["dog", "cat"]
list_2 = ["girl", "boy", "man", "woman"]
如果要遍历不同长度的列表,可以按以下方式使用itertools zip-longest函数
for pet, human in zip_longest(list_1, list_2):
print(pet, human)
我得到的输出如下:
dog girl
cat boy
None man
None woman
问题:如果我希望迭代器输出以下内容,该怎么办:
dog girl
dog boy
dog man
dog woman
cat girl
cat boy
cat man
cat woman
在迭代中,我想将list_1的每个元素“组合”到list_2的每个元素。我该怎么办?
答案 0 :(得分:1)
您要寻找的工具是itertools.product():
>>> from itertools import product
>>> list_1 = ["dog", "cat"]
>>> list_2 = ["girl", "boy", "man", "woman"]
>>> for pet, human in product(list_1, list_2):
print(pet, human)
dog girl
dog boy
dog man
dog woman
cat girl
cat boy
cat man
cat woman