226 votes

Comment faire pour obtenir une valeur aléatoire en python dictionnaire

Comment puis-je obtenir aléatoires de paire à partir d'un dict? Je suis en train de faire un jeu où vous devez deviner une capitale d'un pays et j'ai besoin de questions à apparaître de façon aléatoire.

L' dict ressemble {'VENEZUELA':'CARACAS'}

Comment puis-je faire cela?

383voto

Gerrat Points 9072

Un autre moyen serait:

import random
d = {'VENEZUELA':'CARACAS', 'CANADA':'TORONTO'}
random.choice(d.keys())

17voto

user225312 Points 22699
>>> import random
>>> d = dict(Venezuela = 1, Spain = 2, USA = 3, Italy = 4)
>>> random.choice(d.keys())
'Venezuela'
>>> random.choice(d.keys())
'USA'

En appelant aléatoire.choix sur l' keys du dictionnaire (le pays).

12voto

patriciasz Points 163

Si vous ne souhaitez pas utiliser l' random module, vous pouvez également essayer popitem():

>> d = {'a': 1, 'b': 5, 'c': 7}
>>> d.popitem()
('a', 1)
>>> d
{'c': 7, 'b': 5}
>>> d.popitem()
('c', 7)

Depuis l' dict n'a pas de préserver l'ordre, en utilisant popitem vous obtenir des objets dans un arbitraire (mais pas strictement aléatoire) afin de.

Aussi garder à l'esprit qu' popitem supprime la paire clé-valeur à partir du dictionnaire, comme indiqué dans les docs.

popitem() est utile pour destructive itérer sur un dictionnaire

1voto

carl Points 25879

Puisque c'est les devoirs:

Découvrez random.sample() qui permet de sélectionner et de retour d'un élément au hasard dans une liste. Vous pouvez obtenir une liste de clés de dictionnaire avec dict.keys() et une liste de dictionnaire des valeurs avec dict.values().

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X