玩蛇网提供最新Python编程技术信息以及Python资源下载!

小白问python dict根据value取key值应该怎么写?

比如:
dicxx = {'a':'001', 'b':'002'}

需要根据输入001,得到a

如果操作?百度了半天,没找到答案。感谢。

帮你搜索了一下、


>>> dicxx = {'a':'001', 'b':'002'}
>>> list(dicxx.keys())[list(dicxx.values()).index("001")]
'a'
>>>

引用一段Python3文档里面的原话。

If keys, values and items views are iterated over with no intervening modifications to the dictionary, the order of items will directly correspond.

也就是说,在你迭代的过程中如果没有发生对字典的修改,那么.keys() and .values 这两个函数返回的 dict-view对象总是保持对应关系。

这种情况可以先使用字典推导式反转原字典的keyvalue,然后就可以根据valuekey了。
对于Python3:

dicxx = {'a':'001', 'b':'002'}
new_dict = {v:k for k,v in dicxx.items()}  # {'001': 'a', '002': 'b'}
new_dict['001']  # 'a'
def get_keys(d, value):
    return [k for k,v in d.items() if v == value]
    
get_keys({'a':'001', 'b':'002'}, '001') # => ['a']

这个情况只能遍历了吧......
dict并不是这样用的啊......

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd14124.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月27日 - 11时26分57秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules