我正试图从两个列表中依次打印出来的东西。
ls1 = ['Apple', 'Orange', 'Banana', 'Morty']
ls2 = ['Pineapple', 'Carrot', 'Rick', 'Tangelo']
我通常会这样做:
for fruit in ls1:
print(fruit)
for fruit in ls2
print(fruit)
但是这将循环通过一个列表然后另一个列表。我希望输出按顺序在列表之间交替:
Apple
Pineapple
Orange
...etc...
或
ls1[0]
ls2[0]
ls1[1]
ls2[1]
...etc...
答案 0 :(得分:3)
for i in range(len(ls1)):
print(ls1[i])
print(ls2[i])
给出ls1的长度是否等于ls2的长度
答案 1 :(得分:2)
我也会照顾列表场景的不同大小。
ls1 = ['Apple', 'Orange', 'Banana', 'Morty', 'Cherries', 'Avacado']
ls2 = ['Pineapple', 'Carrot', 'Rick', 'Tangelo']
for i in range(max(len(ls1), len(ls2))):
if (i < len(ls1)):
print(ls1[i])
if (i < len(ls2)):
print(ls2[i])
答案 2 :(得分:2)
恕我直言,更加抒情的方式是:
ls_1 = ["Apple", "Orange", "Banana", "Morty"]
ls_2 = ["Pineapple", "Carrot", "Rick", "Tangelo"]
for i, j in zip(ls_1, ls_2):
print(i, j)
答案 3 :(得分:0)
Zip在这里更可靠
for i, j in zip(ls1, ls2):
print(i)
print(j)
如果您的列表长度不同,zip需要注意。
如果找到更短的列表,它会停止。