J'ai une liste de chaînes similaires à cette liste: Comment devrais-je aller sur le regroupement de cette liste par le premier caractère de chaque chaîne à l'aide d'itheroTools.groupby ()? Comment devrais-je fournir l'argument 'Key' requis par itheroTools.groupby ()? P> P>
4 Réponses :
groupby(sorted(tags), key=operator.itemgetter(0))
Cela fonctionne sur Unicodes. Si vous demandez si cela fonctionne sur les chaînes UTF-8, vous devriez plutôt demander quand vous devriez le décoder à un Unicode. La réponse, bien sûr, est dès qu'elle arrive.
Merci, cela fonctionne comme prévu. J'ai une liste de tags dans plusieurs langues et je vais tester la commande avec divers traducteurs.
En fait, il devrait être: groupeby (trié (Tags), touche = opérateur.Itemplgeter (0)) code>
>>> for i, j in itertools.groupby(tags, key=lambda x: x[0]): print(i, list(j)) a ['apples', 'apricots'] o ['oranges'] p ['pears', 'peaches']
juste une autre solution,
Vous voudrez peut-être créer dict code> après:
... mais n'oubliez pas de trier le premier!