如何拆分
list = ['a', 'xxx yyy zzz']
到
list = ['a', 'xxx', 'yyy', 'zzz']
在Python 2.7.5+(默认,2013年9月19日,13:48:49)[linux4上的[GCC 4.8.1])?
尝试了
...
for i in range(0, len(list)):
list[i] = list[i].split(' ')
...
但没有结果。
答案 0 :(得分:4)
您可以使用列表理解来完成此操作,例如
my_list = ['a', 'xxx yyy zzz']
print [word for words in my_list for word in words.split()]
<强>输出强>
['a', 'xxx', 'yyy', 'zzz']
建议:永远不要将变量命名为list
,因为它会影响内置list
函数
答案 1 :(得分:3)
一种快速而肮脏的方式是:
l = ['a', 'xxx yyy zzz']
l = " ".join(l).split()
更好的是:
l = ['a', 'xxx yyy zzz']
l = sum((s.split() for s in l), [])
答案 2 :(得分:3)
>>> lst = ['a', 'xxx yyy zzz']
>>> sum(map(str.split, lst), [])
['a', 'xxx', 'yyy', 'zzz']
>>> from itertools import chain
>>> list(chain.from_iterable(map(str.split, lst)))
['a', 'xxx', 'yyy', 'zzz']
答案 3 :(得分:0)
>>> [word for s in L for word in s.split()]
['a', 'xxx', 'yyy', 'zzz']