Python 如何使用条件使groupby()组加倍?

Python 如何使用条件使groupby()组加倍?,python,regex,python-3.x,pattern-matching,itertools,Python,Regex,Python 3.x,Pattern Matching,Itertools,例如: import regex import itertools m = "90.80.19 90.43.19 908019 92.11.15 90.80.19 930000" reg = regex.compile("\d\d\.?\d\d\.?\d\d") [list(g) for k, g in itertools.groupby(sorted(reg.findall(m)))] Output: [['90.43.19'], ['90.80.19', '90.80.19'], ['9

例如:

import regex
import itertools

m = "90.80.19 90.43.19 908019 92.11.15 90.80.19 930000"
reg = regex.compile("\d\d\.?\d\d\.?\d\d")
[list(g) for k, g in itertools.groupby(sorted(reg.findall(m)))]

Output: [['90.43.19'], ['90.80.19', '90.80.19'], ['908019'], ['92.11.15'], ['930000']]
groupby()groups double:只有double
90.80.19
被分组

我想做的是按照上面的正则表达式进行分组:
\?
在上面的正则表达式中是可选的

Expected output: [['90.43.19'], ['90.80.19', '90.80.19', '908019'], ['92.11.15'], ['930000']]
是否可以让groupby()使用条件分组

itertools.groupby(iterable,key=None)
使用自定义
函数,如下所示(初始输入字符串已扩展):

输出:

[['90.43.19'], ['90.80.19', '90.80.19', '908019'], ['92.11.15', '921115'], ['930000']]
[['90.43.19'], ['90.80.19', '90.80.19', '908019'], ['92.11.15', '921115'], ['930000']]