Python получить случайный ключ в словаре
Есть словарь как пример:
{
"morgens": [{
"morgenmood": {
"link": "https://github.com/SpyderJabro/SpYD3R/raw/master/assets/morgenchlen/KlipZa10Lyamov-morgenshtern.mp3",
"name": "Клип за 10 лямов ууууу ыыы"
}
},
{
"morgenmood": {
"link": "https://github.com/SpyderJabro/SpYD3R/raw/master/assets/morgenchlen/Morgenshtern-Krasnoe_Vino.mp3",
"name": "Красное вино"
}
},
{
"morgenmood": {
"link": "https://github.com/SpyderJabro/SpYD3R/raw/master/assets/morgenchlen/Morgenshtern-Malyshka.mp3",
"name": "Малышка"
}
},
{
"morgenmood": {
"link": "https://github.com/SpyderJabro/SpYD3R/raw/master/assets/morgenchlen/Morgenshtern-Mne_poh.mp3",
"name": "Мне пох"
}
},
// ...
}]
}
как отсюда Рандомно вытаскивать ключ
Ответы (1 шт):
Автор решения: entithat
→ Ссылка
С помощью такой махинации можно скомбинировать выбор случайного ключа из словаря и скомбинировать для поиска и автора, и песни.
import random
a = { "a": 1, "b": 2, "c": 3 }
random.choice(list(a)) # либо а, либо b, либо с
a = {
"author_1": [
{ "name": 1 },
{ "name": 2 },
{ "name": 3 },
],
"author_2": [
{ "name": 4 },
{ "name": 5 },
{ "name": 6 },
],
}
import random
rand_author = random.choice(list(a)) # Случайный автор
rand_song = random.choice(a[rand_author]) # Случайная песня случайного автора
print(rand_author, rand_song)
У Вашем случае:
import random
song = random.choice(a['morgens'])['morgenmood']
print(song['link']) # случайная ссылка
print(song['name']) # случайное имя