Python3 字典 pop() 方法
描述
Python 字典 pop() 方法删除字典 key(键)所对应的值,返回被删除的值。如果键不存在,则可以选择返回一个默认值(如果提供了)。
语法
pop()方法语法:
dict.pop(key, default)
参数
key:要移除的键。default(可选):如果键不存在时,返回的默认值。如果没有提供默认值且键不存在,会引发KeyError异常。
返回值
返回被删除的值:
- 如果
key存在 - 删除字典中对应的元素 - 如果
key不存在 - 返回设置指定的默认值 default - 如果
key不存在且默认值 default 没有指定 - 触发KeyError异常
实例
以下实例展示了 pop() 方法的使用方法:
实例
#!/usr/bin/python3
site= {'name': '菜鸟教程', 'alexa': 10000, 'url': 'www.runoob.com'}
element = site.pop('name')
print('删除的元素为:', element)
print('字典为:', site)
site= {'name': '菜鸟教程', 'alexa': 10000, 'url': 'www.runoob.com'}
element = site.pop('name')
print('删除的元素为:', element)
print('字典为:', site)
输出结果为:
删除的元素为: 菜鸟教程
字典为: {'alexa': 10000, 'url': 'www.runoob.com'}
如果删除的键不存在会触发异常:
实例
#!/usr/bin/python3
site= {'name': '菜鸟教程', 'alexa': 10000, 'url': 'www.runoob.com'}
element = site.pop('nickname')
print('删除的元素为:', element)
print('字典为:', site)
site= {'name': '菜鸟教程', 'alexa': 10000, 'url': 'www.runoob.com'}
element = site.pop('nickname')
print('删除的元素为:', element)
print('字典为:', site)
输出结果为:
File "/Users/RUNOOB/runoob-test/test.py", line 5, in <module>
element = site.pop('nickname')
KeyError: 'nickname'
可以设置默认值来避免异常:
实例
#!/usr/bin/python3
site= {'name': '菜鸟教程', 'alexa': 10000, 'url': 'www.runoob.com'}
element = site.pop('nickname', '不存在的 key')
print('删除的元素为:', element)
print('字典为:', site)
site= {'name': '菜鸟教程', 'alexa': 10000, 'url': 'www.runoob.com'}
element = site.pop('nickname', '不存在的 key')
print('删除的元素为:', element)
print('字典为:', site)
输出结果为:
删除的元素为: 不存在的 key
字典为: {'name': '菜鸟教程', 'alexa': 10000, 'url': 'www.runoob.com'}
Python3 字典
心灵
791***069@qq.com
如果要删除的 key 不存在,则需要添加默认值,否则会报错:
>>> dict1 = {1: "a", 2: [1, 2]}; >>> print(dict1.pop(1),dict1); a {2: [1, 2]} >>> print(dict1.pop(3,"nokey"),dict1); # 设置默认值,必须添加,否则报错 nokey {2: [1, 2]} >>> print(dict1.pop(3),dict1); Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 3心灵
791***069@qq.com
johai
327***645@qq.com
#!/usr/bin/python3 weekdays = ['Monday','Tuesday','Wednesday','Thursday','Friday'] last_day = weekdays.pop() #括号里没有参数,表示删除list数组中最后一个元素 last_day = weekdays.pop(0) #0参数表示删除数组中的第一个元素 print("last_day = ", last_day, "\nweekdays = ", weekdays)输出结果:
johai
327***645@qq.com