Python字典的创建语法
- 论坛
- Python字典的创建语法
11 浏览
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', ...}
编辑->编辑:
我知道这很愚蠢和完全没必要,但我的目标是在一行上进行此声明。显然,这不应该限制任何回答,因为仅仅因为代码可以放在一行上而写代码是愚蠢的。但我在编写一个模块级的常量字典,如果它可以一行表示就很好。