将嵌套列表转换为int或str

时间:2019-08-06 05:19:51

标签: python python-3.x list

我具有以下列表结构:

the_given_list = [[[1],[2],[3]],[[1],[2],[3]]]

实际上len(the_given_list)返回2。 我需要列出以下列表:

the_given_list = [[1,2,3],[1,2,3]]

如何做到?

5 个答案:

答案 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之间)。

https://thepythonguru.com/python-builtin-functions/sum/

答案 2 :(得分:1)

使用itertools.chain

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])

检查列表拼合的原始答案:

https://stackoverflow.com/a/952952/5501407