如何解决带有列表列表的 Python 列表理解
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 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']
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。