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:只有double90.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']]