python查询基于值的字典中的键
发布时间:2020-12-20 11:24:36 所属栏目:Python 来源:网络整理
导读:让我们有一个以下的词: table = {x1: {y1: 1,y2:2},x2: {y1: 3,y2:4},x3: {y3: 5,y2:6} } 考虑到值是唯一的,有没有办法根据值有效地查询关键路径,或者最好使用值作为关键字来重建字典? 例: result = magic_function(table,3) result -- [x2,y1] 谢谢, 解
让我们有一个以下的词:
table = {x1: {y1: 1,y2:2},x2: {y1: 3,y2:4},x3: {y3: 5,y2:6} } 考虑到值是唯一的,有没有办法根据值有效地查询关键路径,或者最好使用值作为关键字来重建字典? 例: result = magic_function(table,3) result --> [x2,y1] 谢谢, 解决方法
“反转”字典的惯用方法是这样的:
i = {v: k for (k,v) in d.items()} 如果您使用的是Python 2而不是3,而d可能很大,请使用iteritems. 在你的情况下,你有一个dicts的词典,如果我理解正确,你想把它翻译成路径的词组.但你不知道怎么写.所以,让我们从明确的写作开始,漫长的道路: i = {} for k,v in d.items(): for k2,v2 in v.items(): i[v2] = (k,k2) 你可以把它转换成字典理解,但你希望它是你真正理解的东西,而不是你不经思考地复制和粘贴的魔法调用,所以我会把那部分留给你(但我会很高兴的如果您有任何疑问,请提供帮助). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |