在同一行上打印2个列表项

时间:2020-01-22 11:43:27

标签: python list

我有两个列表:

a=[1, 2, 3, 4, 5]
b=[6, 7, 8, 9, 10]

我需要在同一行上打印列表的前3个项目。 输出应如下所示:

1 6
2 7
3 8

我尝试过这段代码,但是它只是连续打印所有内容:

for i in range(len(a)):
    print(a[i])
for j in range(len(b)):
    print(b[j])

4 个答案:

答案 0 :(得分:4)

如果列表始终相同,请使用property.Name

zip

如果不是,则为for x in zip(a, b): print(*x)

itertools.zip_longest

输出

for x in itertools.zip_longest(a, b):
    print(*x)

请注意,如果列表不相等,则较短的列表将填充1 6 2 7 3 8 4 9 5 10 。您可以使用None参数将其替换为其他默认值

fillvalue

答案 1 :(得分:1)

如果长度是固定的,并且您只想要每个列表的前三个:

a=[1, 2, 3, 4, 5]
b=[6, 7, 8, 9, 10]

for i in range(3):
   print("{} {}".format(a[i], b[i]))

输出:

1 6
2 7
3 8

如果要所有项目,但列表的长度可以不同:

a=[1, 2, 3, 4, 5, 6, 7, 8]
b=[6, 7, 8, 9, 10]

for i in range( min(len(a), len(b)) ):
   print("{} {}".format(a[i], b[i]))

输出:

1 6
2 7
3 8
4 9
5 10

答案 2 :(得分:1)

也许这

for i in zip(a,b):
    print(*i)

这还将允许列表具有不同的长度

答案 3 :(得分:0)

这将打印您要查找的输出:

for i in range(3):
    print(a[i],b[i])