创建具有两个强制键的词典,其中一个具有两个可选键

2024-04-19 07:03:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个字典,格式如下:

my_dict = dict.fromkeys((["name", "id"] , "value"), 10)

为了访问元素10,我可以键入:

my_dict["name","value"] >> 10

或者

mydict["id", "value"] >> 10

我认为这是相当解释,两个键是强制性的,但对于第一个你可以选择使用哪一个。这可能吗?你知道吗


Tags: nameid元素键入字典valuemy格式
1条回答
网友
1楼 · 发布于 2024-04-19 07:03:41

与其侵入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)

这样,如果字典中至少存在一个键,就可以找到一组键的值。你知道吗

相关问题 更多 >