加入相同大小的列表后,如何迭代一个zip列表并打印其每个索引?

时间:2019-01-26 14:24:13

标签: python

给出变量:

X = ['a', 'b', 'c']
Y = [1, 2, 3]

完成以下语句:

[print(pair) for pair in ...] 

以便将X和Y中在索引中占据相同位置的元素对打印到屏幕上。

我知道我可以进行联接XY并使用list(zip(X,Y))来创建列表,但是在语句中添加该列表将得到一个空列表。

我无法使用需要任何帮助的表格来解决此问题?

谢谢!

2 个答案:

答案 0 :(得分:1)

不清楚要达到的目标。如果您需要打印成对,则可以使用zip,即

for pair in zip(X, Y):
    print(pair)

[print(pair) for pair in ...]是列表理解,用于创建列表,而不是打印数据:

pairs_list = [pair for pair in zip(X, Y)]  # don't do this

,简称为pairs_list = list(zip(X, Y))。这对您有意义吗?

答案 1 :(得分:1)

使用列表推导来利用副作用(例如打印某些东西)的想法已不被重视。如果您不需要列表,请不要建立列表。

[print(pair) for pair in zip(X,Y)]  # no need to list(zip(...))

将导致None上的大量交易,因为print()的返回值为None

使用一个简单的循环:

for p in zip(X,Y):
    print(p)