python如何拆分列表中的文本

iFu*_*ion 3 python string split list python-3.x

因此stdin将文本的一行引回到列表中,并且多行文本都是列表元素.你怎么把它们分成单个单词?

mylist = ['this is a string of text \n', 'this is a different string of text \n', 'and for good measure here is another one \n']
Run Code Online (Sandbox Code Playgroud)

想要输出:

newlist = ['this', 'is', 'a', 'string', 'of', 'text', 'this', 'is', 'a', 'different', 'string', 'of', 'text', 'and', 'for', 'good', 'measure', 'here', 'is', 'another', 'one']
Run Code Online (Sandbox Code Playgroud)

Wil*_*sem 5

您可以使用简单的列表理解,例如:

newlist = [word for line in mylist for word in line.split()]
Run Code Online (Sandbox Code Playgroud)

这会产生:

>>> [word for line in mylist for word in line.split()]
['this', 'is', 'a', 'string', 'of', 'text', 'this', 'is', 'a', 'different', 'string', 'of', 'text', 'and', 'for', 'good', 'measure', 'here', 'is', 'another', 'one']
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,太完美了。更好的是,您已经在python中概述了一个全新的概念供我学习。 (2认同)

Sol*_*nny 5

你可以这样做:

words = str(list).split()
Run Code Online (Sandbox Code Playgroud)

所以你把列表变成一个字符串,然后用空格键分割它。然后,您可以通过执行以下操作来删除 /n:

words.replace("/n", "")
Run Code Online (Sandbox Code Playgroud)

或者,如果您想在一行中完成:

words = str(str(str(list).split()).replace("/n", "")).split()
Run Code Online (Sandbox Code Playgroud)

只是说这在 python 2 中可能不起作用