列表中迭代的迭代

时间:2018-09-04 19:20:50

标签: python list if-statement python-3.6 nested-lists

假设我有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))

2 个答案:

答案 0 :(得分:2)

您可以将列表压缩在一起,以在两个列表上进行迭代

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

答案 1 :(得分:2)

使用zip

for item, color in zip(List1, List2):
    print("The {} house is owned by {}".format(color, item))