展平列表列表,某些列表具有多个值-python

时间:2018-07-06 21:35:36

标签: python python-3.x list

我正在经历这个post,它有一些很好的答案,但不适用于我的情况。

我有一个这样的列表:

my_list = [['Hi'],['Hello'],['How', 'are'], ['you']]

我做了展平,我正在得到这个,

my_flat_list = [i[0] for i in my_list]
my_flat_list
>>['Hi', 'Hello', 'How', 'you']

如果我不使用i[0],则会再次获得列表格式。

我需要的输出是:

['Hi', 'Hello', 'How are', 'you']

使用itertools的{​​{3}}也让我感到厌倦。

如何获取输出?

2 个答案:

答案 0 :(得分:2)

您需要加入内部列表:

list(map(" ".join, my_list))
#['Hi', 'Hello', 'How are', 'you']

答案 1 :(得分:1)

str.join将帮助您将每个子列表变成单个字符串:

In [1]: [' '.join(sublist) for sublist in my_list]
Out[1]: ['Hi', 'Hello', 'How are', 'you']