Python Dictionary pop:完整指南

dict pop() 方法从提供给定键的字典中删除并返回一个元素。 移除元素的值是 pop() 方法的移除项。

Python 字典 pop()

字典 pop() 是一个内置的 Python 函数,用于从字典中删除指定的元素。 pop() 方法从具有给定键的字典中删除并返回一个项目。

字典 pop() 方法的语法如下。

句法

dictionary.pop(keyname, defaultvalue)

参数

pop() 方法有两个参数:

  1. key – 键是需要搜索删除的参数。
  2. defaultValue – defaultValue 是当键不在字典中时要返回的值。

返回值

pop() 方法返回:

  1. 如果找到键:从字典中删除/弹出元素。
  2. 如果找不到键:指定为第二个参数的值(默认值)。
  3. 如果未找到密钥且未指定默认参数 – 将引发 KeyError 异常。

例子

让我们看看下面的例子。

# app.py

origDict = { 
    'shopping': 'flipkart',
    'transport': 'ola',
    'banking': 'paytm',
    'hotel': 'oyo rooms'
 }
removedItem = origDict.pop('shopping')
print(origDict)
print(removedItem)

在上面的示例中,我们删除了键名为购物的商品。

输出如下。

Python 字典流行示例 |  Pop() 方法教程

我们已经将 Flipkart 设置为 removedItem。

如果找到一个键,则它从字典中删除一个元素。

如果未找到键且未指定默认参数,则会引发 KeyError 异常。

让我们看看在字典中定义键和值的场景。

# app.py

origDict = { 
    'shopping': 'flipkart',
    'transport': 'ola',
    'banking': 'paytm',
    'hotel': 'oyo rooms'
 }
removedItem = origDict.pop('transport', 'ola')
print(origDict)
print(removedItem)

在上面的示例中,我们提供了 app 键作为参数,它不在字典中,而 ola 作为值,它在字典中。 请参阅下面的输出。

Pop() 方法教程

Python 字典 pop(): KeyError

请参阅以下字典中不存在密钥的场景。

# app.py

origDict = { 
    'shopping': 'flipkart',
    'transport': 'ola',
    'banking': 'paytm',
    'hotel': 'oyo rooms'
 }
removedItem = origDict.pop('mobile')
print(origDict)
print(removedItem)

输出如下。

Python 字典 Pop() 教程

如何从 Python 字典中删除密钥

要删除该键而不管它是否在字典中,请使用 dict.pop() 的两个参数形式:

dict.pop('key', None)

请参阅以下代码。

data = {
  'name': 'Obama',
  'position': 'Former President'
}

item = data.pop('name', None)
print(item)

输出

Obama

这将返回数据[key](value) 如果键存在于字典中,否则 None 。 如果未指定第二个参数(即 data(‘key’))并且该键不存在,则会引发 KeyError。

要删除保证存在的键,也可以使用下面的代码。

del data['name']

如果键不在字典中,上述方法会引发 KeyError。

您也可以在一行代码中完成上述操作。

if 'key' in data: del data['key']

结论

有时使用 dict.pop() 优于 del 的优点是它返回该键的值。 这样,您可以在一行代码中从字典中获取和删除条目。

终于,Python Dictionary Pop Example 结束了。

推荐帖子

Python 字典 get()

如何将 Python 字典转换为 JSON

Python 字典键()

Python 字典 fromKeys()

Python 字典复制()

资讯来源:由0x资讯编译自APPDIVIDEND,版权归作者Krunal所有,未经许可,不得转载
你可能还喜欢