迭代迭代列表[重复]

问题描述 投票:-1回答:2

这个问题在这里已有答案:

假设我有2个列表和一个变量:

Name = "Siler City"
List1 = ["Frank", "Beth", "Jose" "Pieter"]
List2 = ["Red", "Green", "Blue", "Purple"]

这是一个复杂问题的简单说明,我有理由不想创建字典。这些必须是2个单独的列表。我想要的是同时迭代List1 [0]和List2 [0]等。所以我想要的结果是

“红房子由弗兰克拥有”,“温室由贝丝拥有”,“蓝屋由何塞拥有”,

等等......为什么下面不会工作,什么是更好的策略?

for item in List1:
    if Name == "Siler City":
        for color in List2:
            print("The {} house is owned by {}".format(color, item))
python list if-statement python-3.6 nested-lists
2个回答
2
投票

您可以将列表压缩在一起以迭代两者

for list1_elm, list2_elm in zip(List1, List2):
  pass # Remove pass when you add your print statement
  # Do things Here

2
投票

使用zip

for item, color in zip(List1, List2):
    print("The {} house is owned by {}".format(color, item))
© www.soinside.com 2019 - 2024. All rights reserved.