- .
from itertools import groupby
import re
import pprint
def findGroup(record):
return re.match(".*?(\d+).txt$", record).group(1)
files = [ 's1.txt', 'ai1.txt', 's2.txt', 'ai3.txt', 'foo1.txt', 'foo54.txt' ]
results = {}
for k,g in groupby(files, findGroup):
if not results.has_key(k):
results[k] = []
results[k].append([x for x in g])
pprint.pprint(results)
, , .
:
{'1': [['s1.txt', 'ai1.txt'], ['foo1.txt']],
'2': [['s2.txt']],
'3': [['ai3.txt']],
'54': [['foo54.txt']]}