Skip to main content
 首页 » 编程设计

python之如何随机删除python中字典的一部分

2025年05月04日16grandyang

如果我有一个包含键 a0、a1、a2、b1、b2、b3 的字典,并且我只想随机弹出两个键以“a”而不是“b”开头的项目,如何修改以下代码?

for key in random.sample(d.keys(), n):  
    del d[key] # or d.pop(key)  

请您参考如下方法:

for key in random.sample([k for k in d if k.startswith("a")], n):  
    del d[key]  

[k for k in d if k.startswith("a")] 获取所有以a开头的键,所以random.sample 将返回以 a

开头的 n 键
In [21]: import random   
In [22]: d = {"a1":1,"a2":2,"b1":1,"b2":2}     
In [23]: for key in random.sample([k for k in d if k.startswith("a")], 2): 
   ....:         del d[key] 
   ....:          
In [24]: d 
Out[24]: {'b1': 1, 'b2': 2}