在列表中的嵌套字典中获取唯一值的键

Eljobso

我有一个字典,其中包含具有以下结构的元素

{'task0': {'id': 0, 'successor':[<other elements>]}

每个元素都包含一个唯一的ID和上述元素的后继列表。也可以为空,这意味着此元素没有后继。

例子

a = {'task0': {'node_id': 0, 'successor': [{'task1': {'node_id': 1, 'successor': [{'task2': {'node_id': 2, 'successor': [{'task4': {'node_id': 4, 'successor': []}}, {'task5': {'node_id': 5, 'successor': []}}]}},  {'task3': {'node_id': 3, 'successor': []}}]}}]}}

我想要的是

def get_node_name_by_id(obj, id_search)

示例:def get_node_name_by_id(a,3)=='task3'

def get_parent_id_by_child_id(obj, id_search)

示例:def get_parent_id_by_child_id(a,3)== 1

到目前为止我有什么

def get_node_name_by_id(obj, id_search):
    for k,v in obj.iteritems():
        if isinstance(v,dict):
            if v['node_id'] is id_search:
                return k
            elif v['successor']:
                    for e in v['successor']:
                        return get_node_name_by_id(e, id_search)

->问题:如果我要搜索的ID不在列表的第1个位置,那么我得到None了结果。

->对于第二个功能,我不知道如何实现

问题

  • 如何分别解决问题,是否有更聪明的方法来实现第一个功能?
  • 什么是第二个功能的好实现?

谢谢你的帮助。

Eljobso

根据tobias_k的评论,我发现了一种存储信息的简便方法。因为每个节点对象都有一个唯一的ID,所以仅存储这些ID就足够了。每个子列表的索引是为其定义后继节点的节点的索引。

successor_list = [[successors_node0], [successors_node1], [successors_node2], ..., [successors_nodeN]]

借助ID,我可以访问节点对象(所有节点对象都存储在列表中)以访问对象属性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在列表中的嵌套字典中获取唯一值的键

来自分类Dev

获取嵌套字典中唯一值的列表(或集合)

来自分类Dev

通过嵌套字典/列表中的键获取特定的值

来自分类Dev

如何在列表和列中的特定键中获取所有唯一字典值?

来自分类Dev

根据给定键的值唯一性,删除字典列表中的重复字典

来自分类Dev

Python获取列表中的嵌套字典值

来自分类Dev

从键列表中获取字典的值

来自分类Dev

在集合字典中获取唯一值

来自分类Dev

从列表要塞中的嵌套字典中获取键和值到数据框

来自分类Dev

检查字典列表中的值是否唯一且没有键

来自分类Dev

从python字典的几个键中获取特定值的唯一名称

来自分类Dev

如何使唯一的嵌套字典列表在python中

来自分类Dev

计算postgres中json中唯一嵌套的键/值?

来自分类Dev

Python-获取嵌套字典中的键列表

来自分类Dev

Tcl:如何通过键列表从嵌套字典中获取值

来自分类Dev

从列表中获取唯一值

来自分类Dev

如何从给定键列表的嵌套字典中检索值?

来自分类Dev

在嵌套字典和列表中查找键,值对的出现路径

来自分类Dev

在复杂的嵌套字典/列表中搜索键,值对

来自分类Dev

如何从给定键列表的嵌套字典中检索值?

来自分类Dev

Python修改键列表中的嵌套字典值

来自分类Dev

通过字典中的键具有唯一值

来自分类Dev

获取嵌套字典中的列表

来自分类Dev

Python3在嵌套字典和列表中按值搜索,然后获取其他最近的键/值对

来自分类Dev

从两列中创建一个具有唯一键和值列表的字典

来自分类Dev

从字典列表中返回唯一值的计数

来自分类Dev

列为字典中的值,获取最长列表的键

来自分类Dev

如何按值从字典列表中获取键

来自分类Dev

从字典列表中获取特定的键和值

Related 相关文章

  1. 1

    在列表中的嵌套字典中获取唯一值的键

  2. 2

    获取嵌套字典中唯一值的列表(或集合)

  3. 3

    通过嵌套字典/列表中的键获取特定的值

  4. 4

    如何在列表和列中的特定键中获取所有唯一字典值?

  5. 5

    根据给定键的值唯一性,删除字典列表中的重复字典

  6. 6

    Python获取列表中的嵌套字典值

  7. 7

    从键列表中获取字典的值

  8. 8

    在集合字典中获取唯一值

  9. 9

    从列表要塞中的嵌套字典中获取键和值到数据框

  10. 10

    检查字典列表中的值是否唯一且没有键

  11. 11

    从python字典的几个键中获取特定值的唯一名称

  12. 12

    如何使唯一的嵌套字典列表在python中

  13. 13

    计算postgres中json中唯一嵌套的键/值?

  14. 14

    Python-获取嵌套字典中的键列表

  15. 15

    Tcl:如何通过键列表从嵌套字典中获取值

  16. 16

    从列表中获取唯一值

  17. 17

    如何从给定键列表的嵌套字典中检索值?

  18. 18

    在嵌套字典和列表中查找键,值对的出现路径

  19. 19

    在复杂的嵌套字典/列表中搜索键,值对

  20. 20

    如何从给定键列表的嵌套字典中检索值?

  21. 21

    Python修改键列表中的嵌套字典值

  22. 22

    通过字典中的键具有唯一值

  23. 23

    获取嵌套字典中的列表

  24. 24

    Python3在嵌套字典和列表中按值搜索,然后获取其他最近的键/值对

  25. 25

    从两列中创建一个具有唯一键和值列表的字典

  26. 26

    从字典列表中返回唯一值的计数

  27. 27

    列为字典中的值,获取最长列表的键

  28. 28

    如何按值从字典列表中获取键

  29. 29

    从字典列表中获取特定的键和值

热门标签

归档