[python](15)---字典dict

字典

python字典是另一种可变容器模型,且可存储任意类型duixiang,如字符串,数字,元组等其他容器模型。、

一、创建字典

字典由键和对应值成对组成。字典也被称作关联数组或哈希表。基本语法如下:
字典{}:存储方式–key-value
dict = {“name”:“zs”,“age”:18}

注意:
每个键与值用冒号隔开(:),每对用逗号分割,整体放在花括号中({})。
键必须独一无二,但值则不必。
值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。
键值不可相同
b = {(1):15} 键值可以是字符串,数字,元组,不能是列表
value值的类型:没有限制
为什么有键?
确定树

二、操作

增删改查
1)添加 修改 b[“tel”] = 138 update
2)删除 del b del b[key] pop
3)查询 b[“age”]

字典内置函数&方法

a = {"a":"A"}
b = {"name":"林徽因","age":15,"sex":"男","a":[1,2,3,4]}
print(len(b))
print(str(b))
print("name" in b.keys())

d = {'a':1,'b':4,'c':2}
ds = sorted(d.items(),key = lambda x:x[1])
import operator
ds = sorted(d.items(),key = operator.itemgetter(1),reverse=True)
f = zip(d.values(),d.keys())
ds = sorted(f)
print(ds)
d = {(2,3):1,(1,2):2,(1,3):4}

import operator
ds = sorted(d.items(),key = operator.itemgetter(0))
print(ds)

三、排序

key:类型相同 ,自然顺序
value:3
正常想要获取dict中的值,首先要知道key通过dict[key]获取对应的value,在散列表中为了达到这种操作,
首先会计算key的hash值即散列值,把这个值最低的几位数字当作偏移量,在散列表里
查找表元(具体取几位,得看当前散列表的大小)。若找到表元为空,异常KeyError,不为空,
表元里会有一对 found_key:found_value。这时候 Python 会检验 search_key == found_key 是否为真,
如果它们相等的话,就会返回 found_value。如果两个值不匹配,则是散列冲突。
而散列表本身的索引又只依赖于这个数字的一部分。为了解决散列冲突,算法会在散列值中另外
再取几位,然后用特殊的方法处理一下,把新得到的数字再当作索引来寻找表元。
若这次找到的表元是空的,则同样抛出 KeyError;若非空,或者键匹配,则返回这
个值;或者又发现了散列冲突,则重复以上的步骤。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值