明确与干燥哪种方式更像Python?

2024-06-17 15:17:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要wast字典,主要是关于典型值的地图,以及一些独特的值。 获得它的第一种方法是定义一个平面的“显式”字典文本:

musicians = {
    'ABBA': 'pop',
    'Avril Lavigne': 'pop',
    ...
    'Mikhail Krug': 'russian chanson',
    'The Rolling Stones': 'rock',
    ...
    'Zaz': 'jazz',
}

第二个是“干”一堆典型清单和特色词典:

^{pr2}$

假设在我的例子中,键值关系比这个例子中的变量大得多(某些键的值可能会改变)。在

你喜欢哪种方式?为什么?在你看来,哪一个更像Python?在


Tags: 方法文本字典定义地图pop平面例子
2条回答

我的答案是将数据结构分层:

genres = {
    "rock": [
        "some rock band",
        "some other rock band",
    ],
    "pop": [
        "some pop star",
        "some pop group",
    ],
}

如果必须使用第一种格式,则dictionary comprehension将很好地完成这项工作:

^{pr2}$

将产生:

{'some other rock band': 'rock', 'some pop group': 'pop', 'some rock band': 'rock', 'some pop star': 'pop'}

或者,如果你发现自己不得不做很多复杂的操作,也许可以上一堂音乐课给自己更多的自由。在

对于一个简短的音乐家名单,第一个选择可能是最好的。如果你有相当大的列表,我会选择第二个选项。它没有什么不清楚的,它降低了打字错误的风险(如果dict变大了,很有可能),它还将音乐家组织成视觉上截然不同的列表。在

相关问题 更多 >