2024-09-16 20:26:45 发布
网友
我有两份清单:
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])
如果长度是固定的,并且您只需要每个列表中的前三个:
a=[1, 2, 3, 4, 5] b=[6, 7, 8, 9, 10] for i in range(3): print("{} {}".format(a[i], b[i]))
产出:
如果需要所有项目,但列表的长度可以不同:
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
也许这个
for i in zip(a,b): print(*i)
这也将允许列表具有不同的长度
如果列表的大小始终相同,请使用zip
zip
for x in zip(a, b): print(*x)
或者itertools.zip_longest如果没有
itertools.zip_longest
for x in itertools.zip_longest(a, b): print(*x)
输出
请注意,如果列表不相等,则较短的列表将填充None。您可以使用fillvalue参数将其替换为其他默认值
None
fillvalue
itertools.zip_longest(a, b, fillvalue=default_value)
如果长度是固定的,并且您只需要每个列表中的前三个:
产出:
如果需要所有项目,但列表的长度可以不同:
产出:
也许这个
这也将允许列表具有不同的长度
如果列表的大小始终相同,请使用
zip
或者
itertools.zip_longest
如果没有输出
请注意,如果列表不相等,则较短的列表将填充
None
。您可以使用fillvalue
参数将其替换为其他默认值相关问题 更多 >
编程相关推荐