Python: Convertir cette liste dans le dictionnaire
J'ai un problème , et ne sais pas comment coder en python.
J'ai un list[10, 10, 10, 20, 20, 20, 30]
Je veux être dans un dictionnaire comme ce
{"10": 1, "20": 3, "30" : 1}
Comment pourrais-je y parvenir?
Si vous compter le nombre d'éléments dans cette liste, ne serait-il pas
double possible de Comment obtenir le nombre d'éléments de la liste en python?
defaultdict résout tous les problèmes
{"10": 3, "20":3, "30":1}
? Si non, comment est-ce dictionnaire compilé? Quelles sont les valeurs en rapport avec leurs clés?double possible de Comment obtenir le nombre d'éléments de la liste en python?
defaultdict résout tous les problèmes
OriginalL'auteur user469652 | 2010-10-18
Vous devez vous connecter pour publier un commentaire.
Si vraiment vous voulez convertir les clés pour les chaînes, qui est une étape distincte:
Cette nouvelle classe de Python 2.7; pour les versions antérieures, l'utilisation de cette mise en œuvre:
http://code.activestate.com/recipes/576611/
Edit: baisse des cette ici puisque je ne peux pas me coller du code dans les commentaires,
OriginalL'auteur Glenn Maynard
Une autre façon que ne pas utiliser
set
ouCounter
:EDIT: Pour une liste de taille 1000000 avec 100 objets uniques, cette méthode fonctionne sur mon ordinateur portable dans 0.37 sec, tandis que la réponse à l'aide
set
prend 2.59 sec. Pour seulement 10 des objets uniques, l'ancienne méthode prend 0.36 sec, tandis que la seconde méthode ne prend 0,25 secondes.EDIT: La méthode à l'aide de
defaultdict
prend 0.18 sec sur mon ordinateur portable.Merci pour le commentaire. Vous êtes au bon endroit: votre méthode a couru dans 0.18 sec sur mon ordinateur portable.
OriginalL'auteur Steve Tjoa
Comme ce
answer
est maintenant le dictionnaire que vous souhaitezEspère que cette aide
OriginalL'auteur inspectorG4dget
en Python >= 2.7 vous pouvez utiliser dict interprétations, comme:
pas le moyen le plus rapide, mais assez adapté pour les petites listes
Mise à JOUR
ou, inspiré par inspectorG4dget, c'est mieux:
OriginalL'auteur mykhal