发布于 5年前
Python 3按指定的元素分割列表
Python 3有多种方法可以用来分割列表。
示例
有以下列表
li = ['a','b','c','.','aa','bb','cc','.','aaa','bbb','ccc']
现需要按“.”分割列表。
使用itertools.groupby
>>>li = ['a','b','c','.','aa','bb','cc','.','aaa','bbb','ccc']
>>>from itertools import groupby
>>>result = [list(g) for k,g in groupby(li,lambda x:x=='.') if not k]
>>>print (result)
[['a', 'b', 'c'], ['a', 'b', 'c'], ['a', 'b', 'c']]
使用join和split(字符串列表)
对于字符串列表可以结合join和split来分割字符串列表
>>>li = ['a','b','c','.','aa','bb','cc','.','aaa','bbb','ccc']
>>>result = [s.split() for s in ' '.join(li).split('.') if s]
>>>print (result)
[['a', 'b', 'c'], ['a', 'b', 'c'], ['a', 'b', 'c']]