無駄な辞書が必要です。ほとんどの場合、典型的な値だけでなく、いくつかの一意の値にもマップされます。それを取得する最初の方法は、1 つのフラットな「明示的な」辞書リテラルを定義することです。
musicians = {
'ABBA': 'pop',
'Avril Lavigne': 'pop',
...
'Mikhail Krug': 'russian chanson',
'The Rolling Stones': 'rock',
...
'Zaz': 'jazz',
}
2番目 - 典型的なリストの「DRY」束とスペシャルの辞書:
pop_musicians = [
'ABBA',
'Avril Lavigne',
...
]
rock_musicians = [...]
unusual_musicians = {
'Mikhail Krug': 'russian chanson',
'Zaz': 'jazz',
}
musicians = dict(
[(m, 'pop') for m in pop_musicians] +
[(m, 'rock') for m in rock_musicians] +
unusual_musicians.items()
)
私の場合、この例よりもキーと値の関係がはるかに可変であるとします (特定のキーの値は変更される可能性があります)。
あなたはどちらの方法を好みますか、またその理由は何ですか? あなたの意見では、どちらがよりpythonicですか?