我具有以下列表结构:
the_given_list = [[[1],[2],[3]],[[1],[2],[3]]]
实际上len(the_given_list)
返回2。
我需要列出以下列表:
the_given_list = [[1,2,3],[1,2,3]]
如何做到?
答案 0 :(得分:4)
[sum(x, []) for x in the_given_list]
展平the_given_list
中的一阶元素。
the_given_list = [sum(x, []) for x in the_given_list]
print(the_given_list)
答案 1 :(得分:1)
为解释以上答案https://stackoverflow.com/a/57369395/1465553,此列表
Thread.sleep(100);
可以看作
[[[1],[2],[3]],[[1],[2],[3]]]
和
[list1, list2]
由于方法>> sum([[1],[2],[3]], [])
[1,2,3]
>>> sum([[1],[2],[3]], [5])
[5, 1, 2, 3]
的第二个参数默认为sum
,因此我们需要向其显式传递空列表0
来克服类型不匹配的问题(在int和list之间)。
答案 2 :(得分:1)
In [15]: from itertools import chain
In [16]: [list(chain(*i)) for i in the_given_list]
Out[16]: [[1, 2, 3], [1, 2, 3]]
答案 3 :(得分:0)
the_given_list = [ [ s[0] for s in f ] for f in the_given_list ]
答案 4 :(得分:0)
另一种解决方案:
SafeScrollView
给我:
the_given_list = [[[1],[2],[3]],[[1],[2],[3]]]
print([[j for sub in i for j in sub] for i in the_given_list])
检查列表拼合的原始答案: