您如何从字典中删除随机键,但只有在该项具有特定值时才能删除?

时间:2018-07-22 22:55:25

标签: python dictionary

我正在考虑模拟Monty Hall问题,说实话,到目前为止我还没有得到。我的代码如下:

import random
doors = {"a":"false", "b":"false", "c":"false"}   
doors[random.choice(list(doors.keys()))] = "true" 
del doors[random.choice(list(doors.values()))]    
print(doors)

我现在的问题是在第四行上,我试图删除一个值为'false'的随机门。我的问题是我不知道如何指定我只想从值'false'的列表中随机选择。

有什么想法吗?我环顾四周,但找不到解决方案。这是我的第一篇文章,对不起,如果我在某个地方搞砸了!

(我使用的是Python 3,而不是2)

1 个答案:

答案 0 :(得分:1)

您可以使用列表理解

del doors[random.choice([k for k,v in doors.items() if v == 'false'])]