如果我有一个包含键 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}
