Best method to delete an item from a dict
在Python中,至少有两种方法可以使用键从dict中删除项。
1 2 3 4 5 6 7 | d = {"keyA": 123,"keyB": 456,"keyC": 789} #remove via pop d.pop("keyA") #remove via del del d["keyB"] |
这两种方法都会从dict中删除该项。
我想知道我应该使用哪种方法,为什么。另外,哪一个更像Python?
如果您想捕获删除的项目,请使用
d.pop ,就像在item = d.pop("keyA") 中一样。如果要从字典中删除项目,请使用
del 。如果要删除,则在密钥不在字典中时抑制错误:
if thekey in thedict: del thedict[thekey] 。
- 当需要知道已删除密钥的值时,使用
pop 。 - 否则使用
del 。
我想归根结底是你是否需要归还被移除的物品。
我用一个非常简单的计时器测试了这些功能的效率:
1
2
3
4
5
6 def del_er(nums,adict):
for n in nums:
del adict[n]
def pop_er(nums,adict):
for n in nums:
adict.pop(n)On my system, using 100,000 item dict and 75,000 randomly selected indices, del_er ran in about .330 seconds, pop_er ran in about .412 seconds.