小白问python dict根据value取key值应该怎么写?,pythondict,比如:dicxx = {


比如:
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对象总是保持对应关系。

这种情况可以先使用字典推导式反转原字典的key和value,然后就可以根据value选key了。
对于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并不是这样用的啊......

编橙之家文章,

评论关闭