我有一个共同的需求,即从值中查找代码,以及从代码中查找值。例如,我有一个颜色字典,可以让我推导出颜色代码。另一方面,我可能有代码并希望导出颜色。我通过创建我所谓的互惠命令来解决这个问题。
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
关于python - 在 python 中创建互惠字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45921896/