python--字典内建方法

字典内建方法

获取字典中元素的个数(键的总数)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'}

扫描二维码关注公众号,回复: 1058928 查看本文章

>>> 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}

猜你喜欢

转载自blog.csdn.net/zhydream77/article/details/80180414