Ada*_*ski 7 python string python-itertools
我有一个类似于此列表的字符串列表:
tags = ('apples', 'apricots', 'oranges', 'pears', 'peaches')
Run Code Online (Sandbox Code Playgroud)
我应该如何使用itertools.groupby()按每个字符串中的第一个字符对此列表进行分组?我应该如何提供itertools.groupby()所需的'key'参数?
Ign*_*ams 13
groupby(sorted(tags), key=operator.itemgetter(0))
Run Code Online (Sandbox Code Playgroud)
Pra*_*are 11
您可能想要dict事后创建:
from itertools import groupby
d = {k: list(v) for k, v in groupby(tags, key=lambda x: x[0])}
Run Code Online (Sandbox Code Playgroud)
>>> for i, j in itertools.groupby(tags, key=lambda x: x[0]):
print(i, list(j))
a ['apples', 'apricots']
o ['oranges']
p ['pears', 'peaches']
Run Code Online (Sandbox Code Playgroud)