Как случайным образом выбрать один элемент из каждого списка словаря? - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть словарь:

>>> print(dict)
{'gs': ['bags', 'begs', 'bogs'],
 'le': ['Cole', 'Dale', 'Dole'],
 'll': ['Ball', 'Bell', 'Bill']}

Для каждого ключа я хочу выбрать только одно слово (случайно) из его списка.Вывод будет выглядеть следующим образом:

{'gs': begs, 'le': 'Cole', 'll': 'Bill'}

и т. Д.

Я пробовал множество вещей, но никто не дал мне слова для каждого ключа словаря.Есть ли простой способ сделать это?

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Я думаю, что одним из простых способов было бы выбрать случайное число от 0 до длины каждого списка, а затем выбрать элемент, соответствующий этому индексу!Просто переберите ключи словаря (используя list(yourdictionary)), получите каждый список, найдите его длину, выберите случайное число и, наконец, получите элемент.

0 голосов
/ 20 декабря 2018

просто используйте random.choice в значениях словаря, восстанавливая понимание слова, используя только 1 имя в качестве значения

import random
d = {'gs': ['bags', 'begs', 'bogs'],
'le': ['Cole', 'Dale', 'Dole'],
'll': ['Ball', 'Bell', 'Bill']}


result = {k:random.choice(v) for k,v in d.items()}

один вывод:

{'gs': 'bogs', 'le': 'Dale', 'll': 'Bell'}
...