2014-10-09 146 views
0

假设我有颜色以下字典:如何给字典值多个键?

COLORS = { 
    "green": "\033[32m", 
    "yellow": "\033[33m", 
} 

我怎么可以指定多个密钥一个值,用户也可以输入这样的事情吗?

print COLORS["yellow"] 
print COLORS["color-yellow"] 

print COLORS["GREEN"] 
print COLORS["GreenColor"] 
+0

我认为这是自然的字典,一只要你不关心多重存储的价值 – michaeltang 2014-10-09 02:17:34

回答

3

填充字典,颜色名称:

COLORS = { 
    "green": "\033[32m", 
    "yellow": "\033[33m", 
} 
for c in list(COLORS): 
    color = COLORS[c] 
    COLORS['color-' + c] = color 
    COLORS[c.upper()] = color 
    COLORS[c.capitalize() + 'Color'] = color 

注意:使用list(..)拿到钥匙的副本:防止RuntimeError: dictionary changed size during iteration

1

不知道是否有帮助,但如果你知道的钥匙,那么你可以使用像下面: -

my_dict = dict.fromKeys(["yellow","color-yellow"],"\033[33m") 
my_dict.update(my_dict.fromkeys(["GREEN","GreenColor"],"\033[32m")) 
COLORS.update(my_dict) 

输出: -

{ '绿色':“\ x1b [32m','color-yellow':'\ x1b [33m','GREEN':'\ x1b [32m', 'GreenColor':'\ x1b [32m','yellow':'\ x1b [33m '}