Skip to main content
 首页 » 编程设计

python之在 python 中创建互惠字典

2025年05月04日14wayfarer

我有一个共同的需求,即从值中查找代码,以及从代码中查找值。例如,我有一个颜色字典,可以让我推导出颜色代码。另一方面,我可能有代码并希望导出颜色。我通过创建我所谓的互惠命令来解决这个问题。

colour_list = [["red", "0"], ["green", "1"], ["blue", "2"]] 
colours = {} 
codes = {} 
for colour in colour_list: 
    colours[colour[0]] = colour[1] 
    codes[colour[1]] = colour[0] 
 
print colours 
print codes 

如果我知道一个代码,我可以在代码中查找颜色,如果我知道一种颜色,我可以在代码中查找颜色。

这是解决这个问题的最佳数据结构吗?有没有更pythonic的方式?

请您参考如下方法:

使用 Enum相反:

from enum import Enum 
 
class Colour(Enum): 
    red = 0 
    green = 1 
    blue = 2 

然后你可以双向:

# getting the integer value for a name 
Colour[name].value  
 
# getting the name for a value 
Colour(value).name 

在代码中,直接使用成员即可:

colour = Colour.red