如何从列表中追加每个单词?

时间:2018-03-07 15:33:58

标签: python python-3.x

如果我有一个包含str的列表:

mylist = ['hello how', 'are', 'you']

我怎样才能遍历mylist以便得到:

newlist = ['hello', 'how', 'are', 'you']

我已经尝试过定期循环,但它不会起作用,因为列表的单个元素中有2个单词我想要拆分成它们自己的元素。

4 个答案:

答案 0 :(得分:2)

最简单的方法是加入元素然后再次拆分:

mylist = " ".join(['hello how', 'are', 'you']).split()
#['hello', 'how', 'are', 'you']

答案 1 :(得分:0)

您可以使用正则表达式:

import re
mylist = ['hello how', 'are', 'you']
new_data = [i for b in map(lambda x:re.findall('[a-zA-Z]+', x), mylist) for i in b]

输出:

['hello', 'how', 'are', 'you']

答案 2 :(得分:0)

这应该有所帮助。

mylist = ['hello how', 'are', 'you']
res = []
for i in mylist:
    res += i.split()
print res

<强>输出:

['hello', 'how', 'are', 'you']

答案 3 :(得分:0)

itertools.chainstr.split与生成器理解结合使用是一种方式。

from itertools import chain

mylist = ['hello how', 'are', 'you']

res = list(chain(*(x.split(' ') if ' ' in x else [x] for x in mylist)))

['hello', 'how', 'are', 'you']