python计算位置_python-根据源目的地字典计算源路径

我有一个输入字典-dict_input,目标为键,源为值.一个目的地可以有一个或多个来源.

dict_input = {'C411':['C052'],'C052':['C001','C002'], 'C001':['9001'], 'C002':['9002']}

在上面的dict_input中,终端目的地为C411,而初始来源为9001和9002.我试图为终端目的地C411提出来源路径.预期输出形式为列表-

[['C411', 'C052', 'C001', '9001'], ['C411', 'C052','C002', '9002']]

我有以下代码:

def get_source(node, dict_input, source=[]):

if node in dict_input:

source.append(node)

for i in dict_input[node]:

if i != node:

get_source(i, dict_input, source)

else:

source.append(node)

else:

source.append(node)

return source

return source

dict_input = {'C052':['C001','C002'], 'C411':['C052'], 'C001':['9001'], 'C002':['9002']}

print(get_source('C411', dict_input, []))

输出是将两个源路径组合到一个列表中-

['C411', 'C052', 'C001', '9001', 'C002', '9002']

如何修改代码以获取每个源路径的单独列表?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值