版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34944851/article/details/81533576
字典
- 概述:使用键-值(key-value)存储,具有极快的查找速度
- key的特性:
- 字典中的key必须唯一
- key必须是不可变的对象
- 字符串、整数等都是不可变的,可以作为key
- list是可变的,不可以作为key
- 注意:字典是无序的
- 字典、list比较,字典:
- 查找、插入速度极快,不会随着key-value的增加而变慢
- 需要占用大量的内存,内存浪费多
- 字典、list比较,list:
- 查找、插入速度随着数据量的增多而变慢
- 占用空间小,浪费内存少
- 字典、list比较,字典:
- 格式:字典名 = {键1: 值1, 键2: 值2,……, 键n: 值n}
元素的访问
获取:
- 方式1:字典名[key]
- 方式2:字典名.get(key) —— 常用
dict1 = {"mfq": 24, "zhx": 23}
print(dict1["mfq"])
# 结果为:24
print(dict1["js"])
# 找不到,报错
print(dict1.get("js"))
# 结果为:None
添加、修改
- 字典名[key] = value
dict1 = {"mfq": 24, "zhx": 23}
print(dict1)
dict1["js"] = 28
print(dict1)
# 因为一个key对应一个value,所以多次对一个key的value赋值,其实就是修改值
dict1["mfq"] = 25
print(dict1)
'''结果为:
{'mfq': 24, 'zhx': 23}
{'mfq': 24, 'zhx': 23, 'js': 28}
{'mfq': 25, 'zhx': 23, 'js': 28}
'''
删除
- 字典名.pop(key)
dict1 = {"mfq": 24, "zhx": 23}
print(dict1)
dict1.pop("mfq")
print(dict1)
'''结果为:
{'mfq': 24, 'zhx': 23}
{'zhx': 23}
'''
遍历
dict1 = {"mfq": 24, "zhx": 23}
for key in dict1:
print(key, dict1[key])
print(dict1.values())
for value in dict1.values():
print(value)
print(dict1.items())
for k, v in dict1.items():
print(k, v)
print(enumerate(dict1))
for i, v2 in enumerate(dict1):
print(i, v2)
'''结果为:
mfq 24
zhx 23
dict_values([24, 23])
24
23
dict_items([('mfq', 24), ('zhx', 23)])
mfq 24
zhx 23
<enumerate object at 0x033439B8>
0 mfq
1 zhx
'''