Python字典的创建语法

11 浏览
0 Comments

Python字典的创建语法

我想知道是否有一种比如下所示更简洁的方法来填充一个字典,使得多个键映射到相同的值:

d = {1:'yes', 2:'yes', 3:'yes', 4:'no'}

我在思考类似于以下方式的解决方案:

d = {*(1,2,3):'yes', 4:'no'}

显然这是语法错误。

有没有一种相对简单的方法来实现这个功能,不会过于混淆?(我不是在玩代码高尔夫,但是我也不想一遍又一遍地写基本相同的东西。然而,与代码高尔夫相关的答案也会受到欢迎,因为代码高尔夫很棒=])。

编辑

我可能选了个不好的例子。我想做的是:

d = {*('READY', 95): 'GPLR2_95', 'CHARGING': 'GPLR3_99', 'PROTECTION': 'GPLR3_100', 'CONNECTED': 'GPLR3_101', 'ERROR':'GPLR3_102'}

我期望它展开后是:

d = {'READY':'GPLR2_95', 95: 'GPLR2_95', ...}

编辑->编辑

我知道这很愚蠢和完全没必要,但我的目标是在一行上进行此声明。显然,这不应该限制任何回答,因为仅仅因为代码可以放在一行上而写代码是愚蠢的。但我在编写一个模块级的常量字典,如果它可以一行表示就很好。

0