相关疑难解决方法(0)

从字典中删除元素

有没有办法从Python中删除字典中的项目?

另外,如何从字典中删除项目以返回副本(即,不修改原始文件)?

python dictionary del

1243
推荐指数
15
解决办法
145万
查看次数

如果密钥存在,则删除字典项

除了给定的密钥存在之外,还有其他方法可以删除字典中的项目,除了:

if key in mydict:
    del mydict[key]
Run Code Online (Sandbox Code Playgroud)

场景是我给了一组要从给定字典中删除的键,但我不确定它们是否都存在于字典中.以防我错过了更有效的解决方案.

python python-2.7

232
推荐指数
3
解决办法
14万
查看次数

如何从关联数组中删除键及其值?

给定一个关联数组:

array("key1" => "value1", "key2" => "value2", ...)
Run Code Online (Sandbox Code Playgroud)

考虑到密钥,我如何去除某个键值对?

php arrays

166
推荐指数
5
解决办法
21万
查看次数

当密钥未知时从字典中删除项目

按值从字典中删除项目的最佳方法是什么,即项目的密钥未知时?这是一个简单的方法:

for key, item in some_dict.items():
    if item is item_to_remove:
        del some_dict[key]
Run Code Online (Sandbox Code Playgroud)

还有更好的方法吗?在迭代它时从字典中变异(删除项目)有什么问题吗?

python dictionary

109
推荐指数
6
解决办法
23万
查看次数

Python中异常处理程序的成本

另一个问题中,接受的答案建议用try/except块替换Python代码中的(非常便宜的)if语句以提高性能.

抛开编码样式问题,并假设从未触发异常,与异常处理程序相比,具有异常处理程序(与性能相比)有多大差异,而不是具有比较为零的if语句?

python performance exception micro-optimization

84
推荐指数
5
解决办法
3万
查看次数

默默地从python dict中删除密钥

我有一个python dict,我想静静地从我的字典中删除其中一个None''键,所以我想出了这样的东西:

try:
    del my_dict[None]
except KeyError:
    pass

try:
    del my_dict['']
except KeyError:
   pass
Run Code Online (Sandbox Code Playgroud)

如您所见,它的可读性较差,导致我编写重复的代码.所以我想知道python中是否有一个方法从dict中删除任何键而不抛出键错误?

python dictionary

35
推荐指数
2
解决办法
2万
查看次数

在python中是否有没有结果的地图?

有时候,我只想为一个条目列表执行一个函数 - 例如:

for x in wowList:
   installWow(x, 'installed by me')
Run Code Online (Sandbox Code Playgroud)

有时我需要这些东西用于模块初始化,所以我不希望在全局命名空间中有像x这样的足迹.一种解决方案是将map与lambda一起使用:

map(lambda x: installWow(x, 'installed by me'), wowList)
Run Code Online (Sandbox Code Playgroud)

但这当然会创建一个很好的列表[无,无,...]所以我的问题是,如果有一个没有返回列表的类似函数 - 因为我只是不需要它.

(当然我也可以使用_x,因此不会留下可见的足迹 - 但地图解决方案看起来很整洁......)

python iteration

27
推荐指数
5
解决办法
1万
查看次数

Python的dict.pop是原子的吗?

认为以dict.pop原子方式运行似乎是合理的,因为KeyError如果指定的键丢失并且没有提供默认值则会引发,如下所示:

d.pop(k)
Run Code Online (Sandbox Code Playgroud)

但是,文档似乎并没有专门针对这一点,至少在专门记录的部分没有dict.pop.

当我正在审查使用这种模式的我的答案时,我想到这个问题:

if k in d: del d[k]
Run Code Online (Sandbox Code Playgroud)

那时候,我并没有想到一把钥匙可能存在的潜在条件if,而不是当时del.如果dict.pop确实提供了原子替代方案,那么我应该在我的答案中注意到.

python dictionary

12
推荐指数
2
解决办法
3597
查看次数

Python del如果在一行中的字典中

在下面做一个单行的方式吗?

myDict = {}
if 'key' in myDic:
    del myDic['key']
Run Code Online (Sandbox Code Playgroud)

谢谢

python dictionary del

11
推荐指数
1
解决办法
3667
查看次数

从字典/列表中删除项目

我对 Mongo 的 Web 服务调用返回以下 JSON。我需要迭代此 JSON 值并删除项目 - Product_language,因为它包含 NULL/空字符串。

关于如何做到这一点有什么想法吗?

Python 3.4 版本。

{

"prod_doc_key" : "613509",

"metadata" : {
    "channel_availability_for" : {
        "description" : "Kiosk and Web",
        "id" : 0
    },

    "dd_sold_out_flag" : 0,
    "dd_units_sold_flag" : 0,
    "display_type_id" : {
        "id" : 0
    },
    "preorder_flag" : 0,
    "price_in_cart_flag" : 0,
    "product_language" : "",
    "product_type" : {
        "id" : 0,
        "name" : "Product"
    },
    "promotion_flag" : 0,
    "published" : 1,
    "rebate_flag" : 0


}
Run Code Online (Sandbox Code Playgroud)

}

python json mongodb

9
推荐指数
2
解决办法
2万
查看次数