¿Cómo puedo obtener un par clave-valor aleatorio de un diccionario?
En Python, dado un diccionario como
{
'VENEZUELA': 'CARACAS',
'CANADA': 'OTTAWA'
}
¿ Cómo puedo elegir un elemento aleatorio (par clave-valor)?
¿Qué pasa si solo necesito la clave o solo el valor? ¿Se puede optimizar?
Aceptado
Haga una lista de los elementos del diccionario y elija aleatoriamente entre ellos de la forma habitual :
import random
d = {'VENEZUELA':'CARACAS', 'CANADA':'OTTAWA'}
country, capital = random.choice(list(d.items()))
De manera similar, si solo se necesita un valor, elija directamente entre los valores:
capital = random.choice(list(d.values()))
Llame a random.choice sobre las claves del diccionario (los países).
En 2.x, se keys
puede elegir directamente entre:
>>> import random
>>> d = dict(Venezuela = 1, Spain = 2, USA = 3, Italy = 4)
>>> random.choice(d.keys())
'Venezuela'
>>> random.choice(d.keys())
'USA'
En 3.x, primero cree una lista, por ejemplo random.choice(list(d.keys()))
.
Dale un diccionario a
, usa:
import random
random_key = random.sample(a.keys(), 1)[0]