字典内建方法
获取字典中元素的个数(键的总数)len函数
>>> d={"zhang":"1581862113","wang":"15818621136","li":"1581354412"}
>>> d
{'wang': '15818621136', 'li': '1581354412', 'zhang': '1581862113'}
>>> len(d)
3
pop(key[,default])
-根据key删除字典中的元素,返回对应的value,
-default可选,如果有default则当key在字典中不存在时,返回特定的值,如果default的则报keyError
>>> d
{'wang': '158186211355', 'li': '1581354412', 'zhang': '1581862113'}
>>> d.pop("zhang")
'1581862113'
>>> d
{'wang': '158186211355', 'li': '1581354412'}
>>> y=d.pop("yy")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'yy'
>>> y=d.pop("yy",None)
>>> type(y)
<class 'NoneType'>
>>> y=d.pop("yy","Not in")
>>> y
'Not in'
>>> d
{'wang': '158186211355', 'li': '1581354412', 'zhang': '5445445'}
get(key[,default])
-根据key得到字典中对应的value
-default可选,指定了key不存在时,get方法的返回值,如果不指定则默认使用None。
>>> d
{'wang': '158186211355', 'li': '1581354412', 'zhang': '5445445'}
>>> e=d.get("wang")
>>> e
'158186211355'
>>> d
{'wang': '158186211355', 'li': '1581354412', 'zhang': '5445445'}
>>> e=d.get("yyy")
>>> e
>>> type(e)
<class 'NoneType'>
updata()方法,
-合并字典
D.update(字典)->None
>>> e={'company':'apple'}
>>> e
{'company': 'apple'}
>>> d.update(e)
>>> d
{'wang': '158186211355', 'li': '1581354412', 'zhang': '5445445', 'company': 'apple'}
>>> d.update({"addr":"beijing"})
>>> d
{'wang': '158186211355', 'li': '1581354412', 'zhang': '5445445', 'addr': 'beijing', 'company': 'apple'}
>>> d.update(home="010-8125545",age=40)
>>> d
{'li': '1581354412', 'zhang': '5445445', 'addr': 'beijing', 'wang': '158186211355', 'home': '010-8125545', 'age': 40, 'company': 'apple'}
-key已经存在,替换key对应的值
>>> d={}
>>> d
{}
>>> id(d)
140270158120072
>>> d.update({"addr":"beijing"})
>>> d
{'addr': 'beijing'}
>>> id(d)
140270158120072
>>> d.update({"addr":"beijing2"})
>>> d
{'addr': 'beijing2'}
>>> id(d)
140270158120072
key()方法
-获取所有的键
>>> d
{'zhu': 'mei', 'hai': 'li', 'addr': 'beijing2'}
>>> d.keys()
dict_keys(['zhu', 'hai', 'addr'])
list(D.keys())
-获取字典的key的列表
>>> d
{'zhu': 'mei', 'hai': 'li', 'addr': 'beijing2'}
>>> a=list(d.keys())
>>> a
['zhu', 'hai', 'addr']
>>> a.sort()
>>> a
['addr', 'hai', 'zhu']
values()方法
-获取字典值的视图
>>> d
{'zhu': 'mei', 'hai': 'li', 'addr': 'beijing2'}
>>> d.values()
dict_values(['mei', 'li', 'beijing2'])
>>> list(d.values())
['mei', 'li', 'beijing2']
items()
-返回字典的键和值的元组列表视图
-获取字典(键,值)元组列表
>>> d
{'zhu': 'mei', 'hai': 'li', 'addr': 'beijing2'}
>>> d.items()
dict_items([('zhu', 'mei'), ('hai', 'li'), ('addr', 'beijing2')])
>>> list(d.items())
[('zhu', 'mei'), ('hai', 'li'), ('addr', 'beijing2')]
copy方法
-得到字典副本
>>> d
{'zhu': 'mei', 'hai': 'li', 'addr': 'beijing2'}
>>> b=d.copy()
>>> b
{'zhu': 'mei', 'hai': 'li', 'addr': 'beijing2'}
>>> b==d
True
>>> b is d
False
clear方法
-清除字典中的元素
>>> d
{1: 'yy', 2: 'zz'}
>>> d.clear()
>>> d
{}
字典推导式语法
-{键表达式:值表达式 for 变量 in 可迭代对象}
或{键表达式:值表达式 for 变量 in 可迭代对象 if 条件语句}
>>> e={k:v for(k,v) in zip(['a','b','c'],[1,2,3])}
>>> e
{'b': 2, 'a': 1, 'c': 3}
>>> e={x:x**2 for x in [1,2,3,4]}
>>> e
{1: 1, 2: 4, 3: 9, 4: 16}
>>> e={x:x**2 for x in [1,2,3,4] if x %2!=0}
>>> e
{1: 1, 3: 9}