📜  Python字典dictionary| pop方法

📅  最后修改于: 2020-07-19 13:59:07             🧑  作者: Mango

pop()为几乎所有容器(列表,集合等)指定了Python语言。这篇特别的文章着重说明pop()Python字典提供的方法。这种方法对于经常处理字典的程序员很有用。

语法: dict.pop(key,def)

参数:
key:必须返回并删除其键值对的键。
def:如果指定的键不存在,则返回的默认值。

返回:
与已删除的键值对关联的值(如果存在键)。
如果没有密钥,则指定为默认值。
KeyError,如果不存在密钥且未指定默认值。

 

代码1:显示pop(),当有key时工作: 

# Python 3代码演示pop()的工作方式
  
# 初始化字典  
test_dict = { "Nikhil" : 7, "Akshat" : 1, "Akash" : 2 } 
  
# 打印初始字典 
print ("删除前的字典 : " + str(test_dict)) 
  
# 使用pop返回并删除键值对. 
pop_ele = test_dict.pop('Akash') 
  
# 打印与弹出键关联的值  
print ("与弹出键相关联的值为 : " + str(pop_ele)) 
  
# 删除后打印字典 
print ("删除后的字典为 : " + str(test_dict)) 

输出: 

删除前的字典 : {'Nikhil': 7, 'Akshat': 1, 'Akash': 2}
与弹出键相关联的值为 : 2
删除后的字典为 : {'Nikhil': 7, 'Akshat': 1}

当字典中不存在键时pop()功能的行为会有所不同。在这种情况下,如果没有提供默认值,它将返回提供的默认值或KeyError。

 

代码2:演示没有密钥的pop()的工作: 

# Python 3代码来演示pop()在没有密钥的情况下的工作 
  
# 初始化字典  
test_dict = { "Nikhil" : 7, "Akshat" : 1, "Akash" : 2 } 
  
# 打印初始字典 
print ("删除前的字典 : " + str(test_dict)) 
  
# 使用pop返回并删除默认提供的键值对 
pop_ele = test_dict.pop('Manjeet', 4) 
  
# 打印与弹出键关联的值打印4
print ("与弹出键相关联的值为 : " + str(pop_ele)) 
  
# 使用pop返回并删除键值对(默认情况下未提供) 
pop_ele = test_dict.pop('Manjeet') 
  
# 打印与弹出键KeyError相关的值 
print ("与弹出键相关联的值为 : " + str(pop_ele))

输出: 

删除前的字典 : {'Nikhil': 7, 'Akshat': 1, 'Akash': 2}
与弹出键相关联的值为 : 4
Traceback (most recent call last):
  File "main.py", line 20, in 
    pop_ele = test_dict.pop('Manjeet')
KeyError: 'Manjeet'