字典
字典
-
字典初识
dict{"key","value"}
简写dic
字典是无序的
字典是可变的
字典的键是可哈希(hash)的,且唯一
字典的值没有要求
-
字典使用
增删改查
增:
- 直接加dic["key"]="value"
- setdefaul("键","值") :键不存在就添加,存在就不添加
删:
- 字典没有remove
- pop()随机删除
- del (dic)删除整个字典 也可以通过知道键位,删除
- dic.clear() 结果是一个空字典
改:
- dic["key"]="value",key存在的情况下,是修改,key不存在,就是增加
- dic.update() 括号里面的是高级数据,字典级别高,会把前面字典中,相同KEY的值覆盖掉
查:
-
字典的查询只能通过键获取值,不能通过值,获取键
-
如果有键在字典中,就显示对应的值,不存在就报错
-
get()
print(dic.get("c","是不是傻"))返回值可以自己定义,不定义的话,默认none
-
for i in dic:
print(dic) 打印的是key值
print(i,dic[i])#正确的输出格式
-
dic.keys() 得到的是高仿列表,不能进行索引,可以进行for循环
-
dic.values() 得到的是高仿列表,不能进行索引
-
dic.items():得到的是高仿列表,不能进行索引,得到的是元组类型的数据
扩展:解构的实质是变量指向位置的转换
a=1 b=2 print(id(a)) print(id(b)) a,b=b,a print(id(a)) print(id(b)) print(a,b) a.b=1,2 a,b=(45,6) a,b=[1,4] a,b={"s":1,"a":2} #都可以进行解构
for i,k in enumerate(dic,计数起始数值(默认是0)):
print(i,k)
enumerate() #枚举法,,序号加迭代对象,列表同样适用
3.字典的嵌套
dic={
101:{1:["周杰伦","林俊杰"],2:["汪峰":["国际章","前妻"]]}
}
4.字典能干啥
-
字典是存储大量数据,字典比列表还要大
-
字典查找值的时候狗方便,快速
-
字典能够进行关联
缺点:比较消耗内存
最常用的数据:字符串,列表,字典
字典和列表的使用区别:
- 有明确对应关系,用字典
- 目前所学的知识点,不能转化字典