Python字典是另一种可变容器模型,可存储任意类型对象,由于字典是无序的所以不支持索引和切片。
格式为:dict = {k1:v1, k2:v2, k3:v3}
。
d = {"name":"golemon", "age":999}
key
不可以重复key
不能是可变数据类型key
一般为字符串类型
增加
格式:d[key] = value
d = {"name":"golemon", "age":999}
d['school'] = 'uuu'
d['sid'] = 114514198197
print(d)
删除
格式:del d[key]
d = {"name":"golemon", "age":999}
d['school'] = 'uuu'
d['sid'] = 114514198197
print(d)
del d['sid']
print(d)
del d['name']
print(d)
查找
格式:d[key]
d = {"name":"golemon", "age":999}
d['school'] = 'uuu'
d['sid'] = 114514198197
print(d['name'])
更改
格式:d[key] = new_value
d = {"name":"golemon", "age":999}
d['school'] = 'uuu'
d['sid'] = 114514198197
d['age'] = 888
print(d)
清空
格式:d.clear()
d = {"name":"golemon", "age":999}
d['school'] = 'uuu'
d['sid'] = 114514198197
d['age'] = 888
print(d)
d.clear()
print(d)
取值
setdefault
格式:d.setdefault(k,v)
。
- 如果
key
值存在,那么返回对应字典的value
,不会用到自己设置的value
- 如果
key
值不存在.返回None
,并且把新设置的key
和value
保存在字典中 - 如果
key
值不存在,但设置了value
,则返回设置的value
d = {"name":"golemon", "age":999}
d['school'] = 'uuu'
d['sid'] = 114514198197
d['age'] = 888
# 已存在key设置value,已存在key不会被修改
d.setdefault('sid', 3)
print(d)
# 未存在key设置value,将(key,value)插入到字典中
print(d.setdefault('gender', 'man'))
print(d)
d['unknown'] = None
# 已存在key,但是对于value不存在,则为None
print(d.setdefault('unknown'))
get(k,v)
格式:d.get(k,v)
。
- 如果
key
值存在,那么返回对应字典的value
,不会用到自己设置的value
- 如果
key
值不存在.返回None
,但是不会把新设置的key
和value
保存在字典中 - 如果
key
值不存在,但设置了value
,则返回设置的value
setdefault()
和get()
区别主要在于是否会修改字典。
常用操作
len(d)
:键值对个数d.keys()
、d.values()
:返回字典中所有的键/值的列表d.items()
:返回包含(键,值)元组的列表key in/(not in) d
:判断键是否已存在字典当中
遍历
遍历键/值
d = {"name":"golemon", "age":999}
d['school'] = 'uuu'
d['sid'] = 114514198197
d['age'] = 888# 遍历键
for i in d.keys():print(i, end=' ')
print()# 遍历值
for i in d.values():print(i, end=' ')
print()# 遍历键和值
for i in d.items():# 键 值print(i[0], i[1])for i in enumerate(d):# 编号 键 值print(i[0], i[1], d[i[1]])