[英]How would you delete a random key from a dictionary, but ONLY if the item has a certain value?
我正在考慮模擬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)
您可以使用列表理解
del doors[random.choice([k for k,v in doors.items() if v == 'false'])]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.