关于删除字典的元素,有很多接口函数可用,如del、pop、popitem、clear等,详见官方文档和菜鸟教程
下面介绍给定待删除键值的情况下,如何删除多个字典元素:
d = {x:x for x in range(5)}
popKeys = [2,3]
for k in popKeys:
d.pop(k)
print(d)
[Out]:{0: 0, 1: 1, 4: 4}
或者,也可以利用生成式方式来完成:
d = {x:x for x in range(5)}
popKeys = [2,3]
[d.pop(k) for k in popKeys]
print(d)
[Out]: {0: 0, 1: 1, 4: 4}
经测试,上面两种方法时间代价相差不大,后者略优。
同理,我们可以用下述方法来删除字典地前N个元素:
d = {x:x for x in range(5)}
popKeys = list(d.keys())[:3]
[d.pop(k) for k in popKeys]
print(d)
[Out]: {3: 3, 4: 4}