我想要的输出:
[[(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)]
但是有没有办法把这写在一行里呢?
我的脚本代码有点复杂,上面的例子只是为了说明原理。因此,这毫无意义
Tags:
您可以使用内置的
itertools
如果希望在不使用
itertools.chain. from_iterable
的情况下使用列表理解来解决此问题,则可以使用嵌套列表理解来解压为每次迭代创建的列表这是作为
[item for sublist in list for item in sublist]
完成的此处适用-
这相当于在
[[(x,x)], [(x*2,x*2)]]
上使用解包运算符*
,但由于这在列表理解中不起作用,因此这是一种很好的方法使用嵌套列表:
结果:
相关问题 更多 >
编程相关推荐