首页 > 解决方案 > 从python中列表列表的标记中展平列表?

问题描述

假设我有一个列表列表(包含句子标记)。

例如:

new_list = ['hello', 'folks', 'i', 'am', 'a', 'good', 'boy', '.'], ['python', 'is', 'a', 'language', '.']]

我想将它们合并回一个列表吗?

如何做到这一点?这有什么捷径吗?

输出:

['大家好,我是个好孩子','python 是一门语言'。]

我尝试过的如下:

1) new_list_1 = (''.join(str(new_list)))

2) from itertools import chain
   new_list_1 = list(chain(*new_list))

目前我得到的输出(仅就合并的令牌而言)为:

new_list_1 = ['hello', 'folks', 'i', 'am', 'a', 'good', 'boy', '.' 'python', 'is', 'a', 'language', '.']

标签: pythonpython-3.xlisttokenflatten

解决方案


尝试这个 :

new_list = [['hello', 'folks', 'i', 'am', 'a', 'good', 'boy', '.'], ['python', 'is', 'a', 'language', '.']]
new_list = [' '.join(i) for i in new_list]

输出

['hello folks i am a good boy .', 'python is a language .']

如果您想添加最后一项之前没有任何空格,请尝试以下操作:

new_list = [' '.join(i[:-1])+i[-1] for i in new_list]

输出

['hello folks i am a good boy.', 'python is a language.']

请注意,在这种情况下,之前的两个字符串中都没有添加空格.


推荐阅读