在Python中结合For循环

时间:2018-06-10 15:23:15

标签: python

假设message = 1并在文件中联系A,我想打印

1 A
2 B
3 C
4 D

for message in peoplename:
    for contact in contacts_list:
        time.sleep(10)
        print (message, contact)

但它会像这样打印

1 A
1 B
1 C
1 D
2 A
2 B
2 C
2 D
3 A
3 B
3 C
3 D
4 A
4 B
4 C
4 D

请让我知道如何解决它..

3 个答案:

答案 0 :(得分:2)

您希望将peoplename中的第一项与contacts_list中的第一项匹配,将第二项与第二项匹配等。您可以使用函数zip执行此操作:

for message, contact in zip(peoplename, contacts_list):
    time.sleep(10)
    print (message, contact)

答案 1 :(得分:1)

使用zip

尝试以下操作
message = [1,2,3,4]
people = ['A','B','C','D']
for x,y in zip(message,people):
  print(x,y)
#Prints
1 A
2 B
3 C
4 D

您可以运行Live

答案 2 :(得分:1)

您可以遍历列表'而不是长度。

length = len(peoplename)
if legnth != len(contacts_list):
    raise ValueError("Lists have different lengths")

for i in range(length):
    time.sleep(10)
    print (peoplename[i], contact_list[i])