python 字典 遍历字典元素

keys() values() items()

dic.keys() 返回一个包含字典中所有key的列表
dic.values() 返回一个包含字典中所有value的列表
dic.items() 返回一个包含所有(key,value)元组的 列表

遍历所有key

注:以下k,v均为变量名,dic为字典名
for k in dic.keys():
print(k)

>>> dic_test = {"zhangsan":[23,5000],"lisi":[32,8000],"wangwu":[30,10000]}
>>> for k in dic_test.keys():
...     print(k)
...
zhangsan
lisi
wangwu

遍历所有(key,value)组合

for k,v in dic.items():
print(k,v)

>>> for k,v in dic_test.items():
...     print(k,v)
...
zhangsan [23, 5000]
lisi [32, 8000]
wangwu [30, 10000]
>>>

高效遍历

for k in dic:
print(k,dic[k])
为什么高效?
简单来说,字典采用了哈希表(不懂可以去搜搜,数据结构里有,要学好数据结构),也就是把key通过一种算法函数转换成一个整型数字,然后就将该数字对数组长度进行取余,取余结果就当作数组的下标,将value存储在以该数字为下标的数组里,存放值的数组就叫做哈希表。而当使用哈希表进行查询的时候,就是再次使用哈希函数将key转换为对应的数组下标,并定位到该空间获取value。
再更简单来说,就是字典根据key把每个key对应value所在的位置都编好了号,想要找某个值,只要把key对应的号取出来就行。而通过.keys().items()等方法还需要将字典元素转化成列表,然后列表还需要一个个遍历去找。

>>> for k in dic_test:
...     print(k,dic_test[k]) #这里直接取dic_test[k]
...
zhangsan [23, 5000]
lisi [32, 8000]
wangwu [30, 10000]
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值