【发布时间】:2021-12-03 20:09:02
【问题描述】:
我想要的输出:
[[(1,1)], [(2,2)], [(2,2)], [(4,4)], [(3,3)], [(6,6)]]
这是不起作用的代码:
mylist = [[[(x,x)], [(x*2,x*2)]] for x in range(1, 4)]
我知道我可以使用:
mylist = []
[mylist.extend([[(x,x)], [(x*2,x*2)]]) for x in range(1, 4)]
但是有没有办法把它写在一行中? 我的脚本代码有点复杂,上面的例子只是为了展示原理。所以没有意义。
【问题讨论】:
-
[x*e for x in range(1, 4) for e in range(1, 3)] -
@deceze 只是一个细节,但我认为 OP 想要
[[x*e] for …] -
mylist = [[x*y] for x in range(1, 4) for y in range(1, 3)]
-
@BrutusForcus 谢谢你的回答,我意识到我问得太不清楚了。我稍微改了一下。
标签: python python-3.x list list-comprehension