2024-06-28 20:16:39 发布
网友
我有一份清单(实际清单更长):
a = [[1, 2], [5, 8], [10, 4], [15, 9]]
我需要在列表理解中使用此列表。对于第一个回路,1和2将用作i和j。对于第二个回路,5和8将用作i和j。等等
下面的代码不正确,但如何使其工作?我不想拆分列表。很少的计算成本很重要
[some_work_with(i, j) for i, j in zip(a[][0], a[][1])]
有些工作可能是print(i, j)
print(i, j)
这里不需要zip,只需在迭代元素时解包即可
zip
[some_work_with(i, j) for i, j in a]
def func(i,j): return [i-1, j+1] a = [[1, 2], [5, 8], [10, 4], [15, 9]] print ([func(x[0], x[1]) for x in a])
输出:
[[0, 3], [4, 9], [9, 5], [14, 10]]
如果愿意,也可以使用此语法:
print ([func(i, j) for i, j in a])
为什么不简单
[some_work(pair[0], pair[1]) for pair in a]
比如说
[f'i : {pair[0]} and j : {pair[1]}' for pair in a]
这将导致:
['i : 1 and j : 2', 'i : 5 and j : 8', 'i : 10 and j : 4', 'i : 15 and j : 9']
这里不需要
zip
,只需在迭代元素时解包即可输出:
如果愿意,也可以使用此语法:
为什么不简单
比如说
这将导致:
相关问题 更多 >
编程相关推荐