【问题标题】:accessing the key of a dictionary using only one element from its value仅使用字典值中的一个元素访问字典的键
【发布时间】:2020-02-17 09:53:59
【问题描述】:

我有两个字典,一个,一个类函数字典:

{'A': ['__init__', 'message'],
 'Head': ['__init__', 'talk'],
 'Human': ['__init__', 'createHead']}

另一个,一个类到子类字典:

{'Human': ['A', 'Head']}

这里,“A”类和“Head”类在“Human”类中。

我使用函数从第一个库派生这个类,(假设我知道特定类中的所有函数)。

是否有可能仅使用“A”获得 Human'? (即,我只知道第二个字典的值列表中的一个元素)

【问题讨论】:

  • 有可能,但您必须手动操作。
  • 您的意思是要遍历第二个字典中的所有键/值对,并找到值列表中包含“A”的所有键?
  • 你为什么要处理这些字典?你的目标是什么?
  • 我想为每个类创建实例并在另一个文件中调用这些函数。所以我分别迭代每个类,因此我在解析“A”时需要得到“人类”。
  • @JJ_29 我仍然不清楚你的目标是什么?你是手动创建上面的字典吗?几乎可以肯定有更好的方法来实现您的目标...

标签: python dictionary key key-value


【解决方案1】:

好吧,您可以遍历字典,并使用列表推导返回包含您要搜索的值的任何键:

class_to_func = {'A': ['__init__', 'message'],
    'Head': ['__init__', 'talk'],
    'Human': ['__init__', 'createHead']}
class_to_subclass = {'Human': ['A', 'Head']}
matching_classes = [key for key,value in class_to_subclass.items() if 'A' in value]
print(matching_classes)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多