如何在python中随机删除部分字典?

Taq*_*oho 1 python random dictionary

如果我有一个带有键a0,a1,a2,b1,b2,b3的字典,我只想随机弹出两个带有以'a'开头而不是'b'的键,如何修改下面的代码?

for key in random.sample(d.keys(), n): 
    del d[key] # or d.pop(key) 
Run Code Online (Sandbox Code Playgroud)

Pad*_*ham 5

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

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

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}
Run Code Online (Sandbox Code Playgroud)