数据类型 - 字典
字典:
- python 的字典是基于 hash 散列算法实现的,采用键值对的方式存储数据。
- 无序。(从 python3.6 开始,字典将保持元素插入时的先后顺序)
- 同一个字典内 key 是唯一的,且 key 必须是不可变的数据对象,如字符串、数字、元组。
- 字典的定义方式:
字典常用方法
1. 查找
dict1 = {'name':'test1', 'addr':'youmeiyou'}
print(dict1['name']) #如果key 不存在,报错
print(dict1.get('name1')) #如果key不存在,不会报错,返回None
2. 增加
# 增加
dict1['name'] = 'test2' # 如果 key 'name' 存在,覆盖原来的值;如果不存在,就新增。
dict1.setdefault('name','test3') # 如果key已经存在,就不修改它的值,还是保留原来的值。
dict1.setdefault('age',18)
dict1.setdefault('addr1','beijing')
print(dict1)
for k,v in dict1.items():
print(k,v)
3. 删除
del dict1['addr1'] # del
dict1.pop('addr') # 删除 addr ,如果 key 不存在,报错
dict1.clear() # 清空字典
4. 修改
d1 = {'key':'value'}
dict1.update(d1) # 更新字典
dict1['name'] = 'test2' # 修改字典中 key 为name 的 value 为 test2
5. 获取字典的 key 或 value
print(dict1.values()) #获取 value 列表
print(dict1.keys()) #获取 key 列表
print(dict1.items()) # 获取一个 (key, value) 列表,速度慢,少用。
print(list[dict1]) # 返回字典的 key 列表
6. dict() 方法的使用
使用 dict() 构造函数可以直接从键值对序列中构建一个字典。