扁平化列表列表,其中一些列表具有多个值 - python



我正在浏览这篇文章,它有一些很好的答案,但它不适合我的情况。

我有这样的列表:

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仍然没有得到我想要的结果。

如何获得输出?

您需要加入内部列表:

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

str.join将帮助您将每个子列表转换为单个字符串:

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

最新更新