gpt4 book ai didi

python - 需要从 python 列表中找到子元素

转载 作者:太空宇宙 更新时间:2023-11-03 13:03:32 27 4
gpt4 key购买 nike

我有一个 python 列表如下

[(u'1', u'0'), (u'2', u'1'), (u'3', u'2'), (u'4', u'3'), (u'5', u'4'), (u'6', u'4'), (u'7', u'4'), (u'8', u'4'), (u'9', u'4'), (u'10', u'4'), (u'11', u'4'), (u'11.5', u'2'), (u'12', u'11.5'), (u'13', u'11.5'), (u'14', u'11.5'), (u'15', u'11.5'), (u'16', u'11.5'), (u'17', u'11.5'), (u'18', u'11.5'), (u'19', u'11.5'), (u'20', u'11.5'), (u'21', u'11.5'), (u'22', u'11.5'), (u'23', u'11.5'), (u'24', u'11.5'), (u'25', u'11.5'), (u'26', u'11.5'), (u'27', u'11.5'), (u'28', u'11.5'), (u'30', u'11.5'), (u'29', u'11.5')]

这里每个元组的第一个位置是它自己的 id,而第二个位置是它的父 id。

我想获取特定 ID 的所有子项。例如,如果我想获得所有 ownids 的列表,这些 ownids 是自己的 id“3”的 child (或 child 的 child ......到 n 深度)。 所以答案列表将是 [u'4', u'5', u'6', u'7', u'8', u'9', u'10', u'11']

有什么办法吗??

最佳答案

您可以使用networkx 库...

import networkx as nx
g = nx.DiGraph()
g.add_edges_from( (y,x) for x,y in your_list )
print list(nx.dfs_postorder_nodes(g, '3'))
[u'11', u'10', u'5', u'7', u'6', u'9', u'8', u'4', '3']

关于python - 需要从 python 列表中找到子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11451167/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com