Python, как выбрать случайным образом из словаря

{"raitisu": [{"name": "test"}, {"name": "test1"}]}         
note = {'name': ""+random.choice(notes.keys())+""}

Как выбрать между test и test1 случайным образом?


person user2772343    schedule 12.09.2013    source источник
comment
Как насчет stackoverflow.com/questions/4859292/? И зачем вам список диктовок, когда в диктовках всего одна запись?   -  person Remo    schedule 12.09.2013
comment
я не публиковал все записи xD потому что их много   -  person user2772343    schedule 12.09.2013


Ответы (1)


Выберите случайным образом список словарей из notes (используя тот факт, что словарь дает свои ключи при обработке как итерируемого), затем выберите значение из списка, используя известный ключ «имя».

import random
notes = {"raitisu": [{"name": "test"}, {"name": "test1"}],
         "iceyyheart": [{"name": "test"}]}
notes_key = random.choice(notes)
random_dict_list = notes[notes_key]
random_value = random.choice(random_dict_list)["name"]
note = { 'name': random_value }
person chepner    schedule 12.09.2013
comment
Большое спасибо, но что, если бы это было так, в словаре есть имена с их элементами {raitisu: [{name: test}, {name: test1}],iceyyheart: [{name: test}]} и да, правильно, например примечание = { 'имя': random.choice (примечания [случайное. имя?]) [имя]} - person user2772343; 12.09.2013
comment
ммм, как вы сказали, выбирая случайное значение для каждого из raitisu, iceyyheart и т. д. (список имен пользователей), у меня есть другой код, который отправляет заметки другим именам пользователей, и я не знаю, как выбирать случайным образом между значениями пользователя, чтобы загрузить его вверх, а затем автоматически удалить его, выполнив команду - person user2772343; 12.09.2013
comment
Большое спасибо, но это выберет случайного пользователя, а затем случайный элемент/заметку, как я могу сделать его не случайным пользователем, а вместо этого пользователем, который вызывает cmd, например +user.name.lower()+ - person user2772343; 12.09.2013
comment
Есть ли какие-либо другие ограничения, которые вы не упомянули в исходном вопросе? - person chepner; 12.09.2013
comment
import random name = user.name.lower() notes = {raitisu: [{name: test}, {name: test1}], iceyyheart: [{name: test}]} random_note = random.choice(notes[name] ) ####### это будет работать? - person user2772343; 12.09.2013