给出变量:
X = ['a', 'b', 'c']
Y = [1, 2, 3]
完成以下语句:
[print(pair) for pair in ...]
以便将X和Y中在索引中占据相同位置的元素对打印到屏幕上。
我知道我可以进行联接X
和Y
并使用list(zip(X,Y))
来创建列表,但是在语句中添加该列表将得到一个空列表。
我无法使用需要任何帮助的表格来解决此问题?
谢谢!
答案 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)