假设您有一个列表['dogs, cats']。如何将任意数量的 ['x, y, z']
['dogs', 'cats']
请您参考如下方法:
只需拆分 ', ' 上的第一个元素:
>>> ['dogs, cats'][0].split(', ')
['dogs', 'cats']
>>>
>>> ['x, y, z'][0].split(', ')
['x', 'y', 'z']
如果你的列表中可以有多个逗号分隔的字符串,那么你可以使用列表理解:
>>> li = ['x, y, z', 'dogs, cats']
>>>
>>> li2 = [elem.split(', ') for elem in li]
>>> [v for val in li2 for v in val]
['x', 'y', 'z', 'dogs', 'cats']
或者在列表理解上使用sum():
>>> li = ['x, y, z', 'dogs, cats']
>>>
>>> sum([elem.split(', ') for elem in li], [])
['x', 'y', 'z', 'dogs', 'cats']
最后 itertools :
>>> list(itertools.chain.from_iterable(elem.split(', ') for elem in li))
['x', 'y', 'z', 'dogs', 'cats']
