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)
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)