当前位置: 首页 > 面试题库 >

安全地从字典中删除多个键

越正阳
2023-03-14
问题内容

我知道如何安全地'key'从字典中删除一个条目d。你做:

if d.has_key('key'):
    del d['key']

但是,我需要安全地从字典中删除多个条目。我正在考虑在元组中定义条目,因为我将需要多次执行此操作。

entities_to_remove = ('a', 'b', 'c')
for x in entities_to_remove:
    if x in d:
        del d[x]

但是,我想知道是否有更聪明的方法来做到这一点?


问题答案:

为什么不这样:

entries = ('a', 'b', 'c')
the_dict = {'b': 'foo'}

def entries_to_remove(entries, the_dict):
    for key in entries:
        if key in the_dict:
            del the_dict[key]

mattbornski使用dict.pop()提供了一个更紧凑的版本)

使用dict.pop:

d = {'some': 'data'}
entries_to_remove = ('any', 'iterable')
for k in entries_to_remove:
    d.pop(k, None)


 类似资料:
  • 问题内容: 如果我有词典列表,请说: 并且我想删除具有2(或name )的字典,以编程方式解决此问题的最有效方法是什么(也就是说,我不知道列表中条目的索引,因此它可以)只是被弹出)。 问题答案: 编辑 :由于对此代码的性能提出了一些疑问(一些基于对Python的性能特征的误解,一些基于超出给定规范的假设,即列表中仅存在一个dict,其key的值为2) id”),我希望在此方面给您保证。 在旧的Li

  • 问题内容: 从字典中删除键时,我使用: 有没有一种方法可以做到这一点? 问题答案: 要删除键而不管它是否在字典中,请使用以下两个参数的形式: 如果典中存在,则返回,None否则返回。如果第二个参数未指定(即)并且key不存在,则引发a。 要删除肯定存在的密钥,你还可以使用 如果关键字在字典中不存在,则会引发 。

  • 从字典中删除键时,我使用: 有没有一个简单的方法可以做到这一点?

  • 我有一个字典列表,里面有各种键和值。我正试着根据钥匙分组 我的输出: 我不想在值中显示“无” 期望输出: 我也尝试过使用过滤函数,但没有成功。有关于如何删除无的指导吗? 代码

  • 问题内容: 如果嵌套字典前面没有键,我现在可以删除重复项。我可以使用此功能的字典列表的一个示例是: 但是,我希望能够根据键和该词典中关联的所有值删除重复项。因此,如果内部有相同的键但值不同,则我不想删除它,但是如果有完整的副本,则将其删除。 我该怎么做呢?谢谢。 问题答案: 要从字典列表中删除重复项,请执行以下操作:

  • 我有以下示例数据作为Python中的listobject。 我如何从这个列表中删除tour_url描述;或者我怎么能只保留名称和leagueid密钥。我试过很多种解决办法,但似乎都不起作用。 第二个问题:我如何过滤这个列表?与MySQL一样: 请对python像一个新人一样对待我,因为我真的是。