day05 字典
---恢复内容开始---
今日主要内容
认识字典
成对的保存数据。 以key:value的形式保存
用{}表示,每一项内容都是key:value, 每项数据之间用逗号隔开
dic = {}
字典中的key是不能重复的。 存储是依靠着key来计算的
字典是使用hash算法计算key的哈希值. 使用哈希值来存储数据,即按照hash顺序表顺序保存数据
哈希算法得到的是一个唯一的数字(可能是正数, 可能是负数, 很大或者很小)
哈希算法是无序的,不能进行切片
字典中的key必须是可哈希的, 不可变的就是可哈希的
不可变: str, tuple, int, bool
可变的: list, dict, set
字典的value没有类型要求。
增删改查
1. 增加
dic[key] = value #key 如果重复,将会修改原来的的value
setdefault(key, value)
流程:1. 先判断key 是否存在, 如果存在则不执行新增, 如果不存在则新增
2.根据你给的key 把value 查询出来
2.删除
pop(key) # 指定某个key 进行删除
popitem() # 随机删除
del dic[key]
clear()
3.修改
dic[key] = value
dic1.update(dict2)
4. 查询
dic[key] #可能会报错 如果key不存在 KeyError:
dic.get(key) #当key不存在的时候不会报错。 默认返回None, 可以设定其他
dic.setdefault()
常见操作
keys() #key的集合
dic.keys() 返回内容像列表,但不是列表 可以迭代
values() # value的集合
dic.values() 同上
items() 键值对的集合(key,value)
dic.items() 返回键值对
a = 10
b = 20
a, b = b, a
for k, v in dic.items():
k, v # unpack 解包(解构)
字典的迭代
for k in dic:
print(k)
print(dic[k])
字典的嵌套
例子:汪峰
---恢复内容结束---
今日主要内容
认识字典
成对的保存数据。 以key:value的形式保存
用{}表示,每一项内容都是key:value, 每项数据之间用逗号隔开
dic = {}
字典中的key是不能重复的。 存储是依靠着key来计算的
字典是使用hash算法计算key的哈希值. 使用哈希值来存储数据,即按照hash顺序表顺序保存数据
哈希算法得到的是一个唯一的数字(可能是正数, 可能是负数, 很大或者很小)
哈希算法是无序的,不能进行切片
字典中的key必须是可哈希的, 不可变的就是可哈希的
不可变: str, tuple, int, bool
可变的: list, dict, set
字典的value没有类型要求。
增删改查
1. 增加
dic[key] = value #key 如果重复,将会修改原来的的value
setdefault(key, value)
2.删除
pop(key) # 指定某个key 进行删除
popitem() # 随机删除
del dic[key]
clear()
3.修改
dic[key] = value
dic1.update(dict2)
4. 查询
dic[key] 可能会报错
dic.get(key)
dic.setdefault()
常见操作
keys() key的集合
values() value的集合
items() 键值对的集合(key,value)
a = 10
b = 20
a, b = b, a
for k, v in dic.items():
k, v # unpack 解包
字典的迭代
for k in dic:
k
dic[k]
字典的嵌套
例子:汪峰