我有一个值列表,其中一些值是用逗号分隔的单词,但被视为单个字符串,如下所示:
l = ["a",
"b,c",
"d,e,f"]
#end result should be
#new_list = ['a','b','c','d','e','f']
我想拆分这些字符串,并想知道是否有一个衬里或短的东西可以进行这种突变。到目前为止,我一直在考虑仅遍历l
和.split(',')
-然后合并所有元素,但这似乎需要一段时间才能运行。
答案 0 :(得分:1)
import itertools
new_list = list(itertools.chain(*[x.split(',') for x in l]))
print(new_list)
>>> ['a', 'b', 'c', 'd', 'e', 'f']
答案 1 :(得分:1)
有些异常,但是您可以使用join
,
来split
来使用所有元素,
l = ["a",
"b,c",
"d,e,f"]
newList = ','.join(l).split(',')
print(newList)
输出:
['a', 'b', 'c', 'd', 'e', 'f']
答案 2 :(得分:0)
不完全是单线,而是两行:
>>> l = ["a",
"b,c",
"d,e,f"]
>>> ll =[]
>>> [ll.extend(x.split(',')) for x in l]
[None, None, None]
>>> ll
['a', 'b', 'c', 'd', 'e', 'f']
由于x.split(',')
不能在理解内解包,因此需要单独创建累加器。
答案 3 :(得分:0)