Я бы хотел манипулировать "/ etc / group"
In [39]: fp = open("/etc/group")
In [40]: content = [c.replace("\n", "") for c in fp.readlines()]
In [42]: content
Out[42]:
['root:x:0:',
'bin:x:1:',
'daemon:x:2:',
'sys:x:3:',
'adm:x:4:',
'tty:x:5:',
'disk:x:6:',
'lp:x:7:',
'mem:x:8:',
'kmem:x:9:',
'wheel:x:10:',
'cdrom:x:11:',
'mail:x:12:postfix',
'man:x:15:',
'dialout:x:18:',....]
Результат отсортирован по алфавиту, а не по идентификатору группы
In [44]: sorted(content, key=lambda c:int(re.search(r"\d+",c).group()))
Out[44]:
['root:x:0:',
'bin:x:1:',
'daemon:x:2:',
'sys:x:3:',
'adm:x:4:',
'tty:x:5:',
'disk:x:6:',
'lp:x:7:',
'mem:x:8:',
'kmem:x:9:',
'wheel:x:10:',
'cdrom:x:11:',
'mail:x:12:postfix',
'man:x:15:',
'dialout:x:18:',
Я справился с этимповторный поиск и лямбда без проводов,
Может ли это быть решено в элегантном стиле?