我想以以下形式创建字典:
my_dict = dict.fromkeys((["name", "id"] , "value"), 10)
因此,为了访问元素10
,我可以输入:
my_dict["name","value"] >> 10
或
mydict["id", "value"] >> 10
我认为这很有说服力,两个键是强制性的,但对于第一个键,您可以选择使用哪个键。这可能吗?
答案 0 :(得分:0)
您可以更好地更改设计,而不是攻击dict
界面或撰写丑陋的内容(正如我在评论中所示),您可以更好地更改设计:
def get_any(dictionary, keys):
try:
return next(filter(bool, (dictionary.get(key) for key in keys)))
except StopIteration:
raise KeyError
group = ("name", "value"), ("id", "value")
dict = {("id", "value"): 10}
get_any(dict, group)
这样,您可以找到一组键的值,只要字典中至少有一个键。