Python——字典的常用方法_keys ()、values ()、items ()、get()、 pop ()、popitem ()、copy()和 update ()

常用方法对照表

方法或操作功能描述
dicts .keys()返回所有的键信息
dicts . values()返回所有的值信息
dicts . items()返回所有的键值对
dicts . get (key , defualt )键存在则返回相应值,否则返回默认值
dicts . pop (key , default )键存在则返回相应值,同时删除键值对,否则返回默认值
dicts . popitem()随机从字典中取出一个键值对,以元组( key , value )的形式返回
dicts . clear ()删除所有的键值对
del dicts [ key ]删除字典中的某个键值对
key in dicts如果键在字典中则返回 True ,否则返回 False
dicts . copy()复制字典
dicts . update (dicts2)更新字典,参数dict2为更新的字典

1. keys ()、values ()和 items ()方法

  • 通过 keys ()、values()和 items ()这3个方法可以分别返回字典的键的视图、值的视图和键值对的视图。
  • 视图对象与列表不同,它不支持索引,但可以迭代访问,通过遍历视图可以获得学典的信息。

例 5-10 字典的常用方法 keys ()、values ()和 items ()

>>> dicts = {"id":101,"name":"Rose","address":"Changjianroad","pcode":"116022"}	
#获得键的视图
>>> key1 = dicts.keys()
>>> type(key1)
<class 'dict_keys'>
>>> key1 = dicts.keys()
>>> for k in key1:
	print(k,end=",")

	
id,name,address,pcode,
#获得值的视图
>>> values1 = dicts.values()
>>> type(values1)
<class 'dict_values'>
>>> for v in values1:
	print(v,end=",")

	
101,Rose,Changjianroad,116022,
#获得键值对的视图
>>> items = dicts.items()
>>> type(items)
<class 'dict_items'>
>>> for item in items:
	print(item,end=",")

	
('id', 101),('name', 'Rose'),('address', 'Changjianroad'),('pcode', '116022'),

2. get()、 pop ()、popitem () 方法

  • 通过 get()方法可以返回键对应的值。如果 key 不存在,返回空值。 default 参数可以指定键不存在时的返回值。
  • 通过 pop()方法可以从字典中删除键,并返回对应的值。如果 key 不存在,返回 default 值,如果未指定 default 参数,则代码运行时会产生异常。
  • 通过 popitem ()方法可以从字典中删除并返回键值对。字典为空时,会产生 keyerror 异常。

例 5-11 字典的常用方法 get()、 pop()、poptitem()

dicts = {"id":101,"name":"Rose","address":"Changjianroad"}
#get()方法
>>> dicts.get("address")
'Changjianroad'
>>> dicts.get("pcode")
>>> dicts.get("pcode","116000")	#pcode在字典中不存在,返回默认值
'116000'
>>> dicts
{'id': 101, 'name': 'Rose', 'address': 'Changjianroad'}
#pop方法
>>> dicts.pop('name')
'Rose'
>>> dicts
{'id': 101, 'address': 'Changjianroad'}
>>> dicts.pop("email","ul@u2")	#在字典中不存在,返回默认值
'ul@u2'
>>> dicts
{'id': 101, 'address': 'Changjianroad'}
>>> dicts = {"id":101,"name":"Rose","address":"Changjianroad"}
#使用 popitem() 函数逐一删除键值对
>>> dicts.popitem()
('address', 'Changjianroad')
>>> dicts.popitem()
('name', 'Rose')
>>> dicts.popitem()
('id', 101)
>>> dicts
{}

3. copy()和 update ()方法

  • 通过 copy()方法可以返回一个字典的复本,但新生的字典与原字典的 id 是不同的,用户修改一个字典对象时,不会对另一个字典对象产生影响。
  • 通过 update()方法可以使用一个字典更新另一个字典,如果两个字典有相同的键存在,则键值对会进行覆盖。

例 5-12 字典的常用方法 copy()与 update()应用实例

>>> dicts = {"id":101,"name":"Rose","address":"Changjianroad"}
#copy()方法
>>> dict2 = dict1.copy()
>>> id(dict1),id(dict2)
(2244937983320, 2244936532544)
>>> dict1 is dict2
False
>>> dict2["id"] = 102
>>> dict2
{'id': 102, 'name': 'Rose', 'address': 'Changjianroad'}
>>> dict1
{'id': 101, 'name': 'Rose', 'address': 'Changjianroad'}
#update()方法
>>> dict3 = {"name":"John","email":"u1@u2"}
>>> dict1.update(dict3)
>>> dict1
{'id': 101, 'name': 'John', 'address': 'Changjianroad', 'email': 'u1@u2'}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值