发布于 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']]
©2020 edoou.com   京ICP备16001874号-3