Python List of List 的列表理解
Python List Comprehension With List of List
我有一个列表列表(实际列表更长):
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)
。
这里不需要 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']
我有一个列表列表(实际列表更长):
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)
。
这里不需要 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']