如何在python中同时运行2个列表?

时间:2017-07-18 04:31:06

标签: python list

我正试图从两个列表中依次打印出来的东西。

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...

4 个答案:

答案 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需要注意。

如果找到更短的列表,它会停止。