我有這個串列,每次都會隨機選擇一個不同的值,如何列印單獨選擇的隨機值的鍵?
import random
a_dictionary = {"winter": 10, "summer": 30,"spring":20,"autumn":15}
values = list(a_dictionary.values())
key = list(a_dictionary.keys())
randomx= random.choice( values)
print(randomx)
#print(randomx.key)
示例:隨機值 =
20
spring
uj5u.com熱心網友回復:
這應該有效。
import random
dict = {
"winter" : 10,
"summer" : 30,
"spring": 20,
"autumn" : 15
}
values = list(dict.values())
keys = list(dict.keys())
random = random.choice(values)
print(random)
print(keys[values.index(random)])
uj5u.com熱心網友回復:
嘗試使用 .items()
import random
a_dictionary = {"winter": 10, "summer": 30,"spring":20,"autumn":15}
print(random.choice(list(a_dictionary.items()))) # prints ('winter', 10)
uj5u.com熱心網友回復:
或許你可以試試:
key, value = random.choice(list(a_dictionary.items()))
或者,如果您無法控制進行選擇的程序(即您只有值),您可以使用反向字典:
rev_dict = {v: k for k, v in a_dictionary.items()}
# and later, say your randomx is 20
>>> rev_dict[randomx]
'spring'
uj5u.com熱心網友回復:
您不必遍歷 VALUES 串列,而是遍歷 ITEMS 串列:
season, number = random.choice(list(a_dictionary.items()))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/400155.html
上一篇:當我在python中使用.copy()時,為什么它仍然參考一本字典?[復制]
下一篇:嘗試比較類欄位C#
