J'ai trié compteur de collection et j'essaie d'obtenir l'index de banane code> qui est 1 parce que la fréquence de
cerise code> et
banane code> sont les mêmes, mais cela donne 2. ou l'indice de
mangu code> doit être 2 au lieu de 3.
Counter({'apple': 3, 'cherry': 2, 'banana': 2, 'mango': 1})
2
3 Réponses :
mapping = dict((item[1][0], item[0]) for item in enumerate(sorted(fruits_frequency.most_common(), key=lambda y: (y[1], y[0])))) use sorting for the fruits_frequency.most_common() part, by using the key parameter of sorting: key=lambda y: (y[1], y[0]) essentially first sorting by the number of occurances and the alphabetically.
Vous pouvez utiliser iTertools.groupby avec compréhension du dictionnaire sortie: strong> p>
Si je comprends ce que vous essayez d'obtenir, vous voulez probablement avoir une liste triée des valeurs distinctes Comme ceci: p> fruit_frequentes CODE>, puis recherchez l'index de la valeur code> de bananes code> dans cela.