我想知道是否有任何方法可以填充一个字典,使您有多个键映射到同一个值,而这个值的详细程度比说:
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', ...}
编辑->;编辑:
我知道这是愚蠢的和完全没有必要的,但我的目标是在一行声明。显然,这不应该限制任何响应和编写代码,因为它只适合一行是愚蠢的。但是我正在写一个模块级的常量dict,如果它是一个单独的行程序就好了。
打高尔夫?
收益率
怎么样:
你可以把它转过来:
然后“反转”那本字典:
相关问题 更多 >
编程相关推荐