字典中匹配value,返回返回key

本文介绍如何在Python字典中通过value值找到对应的key。掌握这一技巧对于处理字典数据至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

res_list=[]
def all_keys(search_dict, key_id):
    def _all_keys(search_dict, key_id, keys=None):
        if not keys:
            keys = []
            
        for i in search_dict:
            if search_dict[i] == key_id:
                keys = keys +[i]
                res_list.append(keys)
                break
            if isinstance(search_dict[i], dict):
                _all_keys(search_dict[i], key_id, keys + [i])
        return res_list
    return _all_keys(search_dict, key_id)

if __name__ == '__main__':
    obj = {'1593324781930000001': {'original': 'lan4', 'ifName': '', 'present': 'lan4', 'order': '1'},
           '1593324781930000005': {'original': 'wan0', 'ifName': 'eth0.4090', 'present': 'wan0', 'order': '5'},
           '1593324781930000003': {'original': 'lan4', 'ifName': 'eth0.4092', 'present': 'lan2', 'order': '3'}
           }
    all_keys=all_keys(obj,"lan4")
    print(all_keys)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值