通过 values 取到 key 的方法:
>>> dic={"a":1,"b":2,"c":3} >>> list(dic.keys())[list(dic.values()).index(1)] 'a'
Python3.x 中会碰到这样的问题:
>>> sites_link = {'runoog':'facesho.com', 'google':'google.com'} >>> sides = sites_link.keys() >>> print(sides[0]) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'dict_keys' object does not support indexing >>>
原因说明及解决方法:
dict.values() dict.keys()
在 python2.x dict.keys 返回一个列表,但是在在 Python 3.x 下,dict.keys 返回的是 dict_keys 对象,若需要转换为列表,请使用:
list(dict.values()) list(dict.keys())
修改上面实例:
>>> sites_link = {'runoog':'facesho.com', 'google':'google.com'} >>> sides = sites_link.keys() >>> list(sides) ['runoog', 'google'] >>>
字典字段的比较
获取字典中最大的值及其键:
prices = { 'A':123, 'B':450.1, 'C':12, 'E':444, } max_prices = max(zip(prices.values(), prices.keys())) print(max_prices) # (450.1, 'B')
b= {'a':'facesho','b':'google'} for i in b.values(): print(i) for c in b.keys(): print(c)
执行输出结果为:
facesho google a b
字典可以通过以下方法调换 key和 value,当然要注意原始 value 的类型,必须是不可变类型:
dic = { 'a': 1, 'b': 2, 'c': 3, } reverse = {v: k for k, v in dic.items()} print(dic) print(reverse)
输出如下:
{'a': 1, 'b': 2, 'c': 3} {1: 'a', 2: 'b', 3: 'c'}
感谢您的支持,我会继续努力的!
支付宝扫一扫,即可进行扫码打赏哦
1083Python3 字典
通过 values 取到 key 的方法:
1082Python3 字典
Python3.x 中会碰到这样的问题:
原因说明及解决方法:
在 python2.x dict.keys 返回一个列表,但是在在 Python 3.x 下,dict.keys 返回的是 dict_keys 对象,若需要转换为列表,请使用:
修改上面实例:
1081Python3 字典
字典字段的比较
获取字典中最大的值及其键:
1080Python3 字典
执行输出结果为:
1079Python3 字典
字典可以通过以下方法调换 key和 value,当然要注意原始 value 的类型,必须是不可变类型:
输出如下: