fromkeys(S, v=None)
d = dict.fromkeys('abc', 666)
print(d)
{‘a’: 666, ‘b’: 666, ‘c’: 666}
key 不能重复,必须为不可变类型。
增
dic[key] = value
删
del
del dic[key]
key 必须存在。
pop
删除指定键值对,返回对应的值
dic.pop(key[, default])
如果key不存在,返回给定的default值
d = {'name': 'sz', 'age': 18}
v = d.pop('age')
print(v, d)
18 {‘name’: ‘sz’}
popitem
删除按升序排序后的第一个键值对,并以元组的形式返回该键值对,如果字典为空则直接报错
d = {'name': 'sz', 'age': 18}
result = d.popitem()
print(result, d)
(‘age’, 18) {‘name’: ‘sz’}
dic.clear()
删除字典内所有键值对
d = {'name': 'sz', 'age': 18}
d.clear()
print(d)
{}
改
dic[key] = value
批量修改键值对
oldDic.update(newDic)
根据新的字典,批量修改旧字典中的键值对,没有则新增
d = {'name': 'sz', 'age': 18}
d.update({'age':666, 'address':'shanghai'})
print(d)
{‘name’: ‘sz’, ‘age’: 666, ‘address’: ‘shanghai’}
查
dic[key]
get
dic.get(key[, default])
如果不存在对应的key,则取给定的默认值default,如果没有默认值,则为None
setdefault
dic.setdefault(key[,default])
获取指定key对应的值,如果key不存在,则设置给定的默认值,并返回该值,如果默认值没有给定则使用None代替
d = {'name': 'sz', 'age': 18}
v = d.setdefault('age1')
print(v, d)
获取所有的值
dic.values()
d = {'name': 'sz', 'age': 18}
print(d.values())
dict_values([‘sz’, 18])
获取所有的键
dic.keys()
获取键值对
dic.items()
d = {'name': 'sz', 'age': 18}
vs = d.values()
ks = d.keys()
its = d.items()
print(vs, ks, its)
d['address'] = 999
print(vs, ks, its)
dict_values([‘sz’, 18]) dict_keys([‘name’, ‘age’]) dict_items([(‘name’, ‘sz’), (‘age’, 18)])
dict_values([‘sz’, 18, 999]) dict_keys([‘name’, ‘age’, ‘address’]) dict_items([(‘name’, ‘sz’), (‘age’, 18), (‘address’, 999)])
Pyhton3.x中获得的为Dictionary view objects
d = {'name': 'sz', 'age': 18}
vs = d.values()
ks = d.keys()
its = d.items()
print(list(vs))
[‘sz’, 18, 999]
遍历
先遍历所有的key 然后根据key获取值。
d = {'name': 'sz', 'age': 18, 'address': 'shanghai'}
ks = d.keys()
for key in ks:
print(key)
print(d[key])
name
sz
age
18
address
shanghai
直接遍历所有键值对:
d = {'name': 'sz', 'age': 18, 'address': 'shanghai'}
kvs = d.items()
d['xxx'] = 'ooo'
for k, v in kvs:
print(k, v)
name sz
age 18
address shanghai
xxx ooo
计算
len(info)
键值对个数
判定
x in dic
判定dic中的key,是否存在x
x not in dic
判定dic中的key,是否不存在x