相关疑难解决方法(0)

在Python中从dict中删除某些键的最快方法

我正在寻找删除python dict中某些键的最快/最有效的方法

这里有一些选择

for k in somedict.keys(): 
    if k.startswith("someprefix"): 
        del somedict[k]
Run Code Online (Sandbox Code Playgroud)

要么

dict((k, v) for (k, v) in somedict.iteritems() if not k.startswith('someprefix'))
Run Code Online (Sandbox Code Playgroud)

逻辑上第一个片段在较小的dicts上应该更快,它不会创建dict的副本但会创建所有键的列表,但是双重查找和dict重建是耗时的.虽然第二个在更大的dicts上更快,但需要2倍的内存.我在一些小基准测试中检查了我的假设.

什么更快?

python dictionary filter

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

标签 统计

dictionary ×1

filter ×1

python ×1