如何创建表单,例如[[1,2],[3,4]]或[(1,2),(3,4)] 清单[1,2,3,4]
list comprehension(或map,filter)似乎没有地图对象到多个其他对象。
像C#的LINQ中的SelectMany一样答案 0 :(得分:2)
标准库很酷:
>>> import itertools
>>> l = [[1,2],[3,4]]
>>> list(itertools.chain(*l))
[1, 2, 3, 4]
答案 1 :(得分:0)
你想要整理清单。
[y for x in [[1,2],[3,4]] for y in x]
答案 2 :(得分:0)
如果您知道它将完全是2级,您可以
[j for i in [[1,2],[3,4]] for j in i]
您在列表中使用i
进行迭代,并在这些子列表上依次为i
和[1,2]
提供[3,4]
个j
。因此,这个表达式导致[1, 2, 3, 4]
。
答案 3 :(得分:0)
>>l=[1,2,3,4]
>>zip(l[:2:],l[1:][:2:])
[(1, 2), (2, 3)]
>>l=[(1, 2), (2, 3)]
>>sum(l,())
(1, 2, 2, 3)
这不仅仅是你需要的吗?