簡體   English   中英

您如何從字典中刪除隨機鍵,但僅當該項具有特定值時才刪除?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM