![](/img/trans.png)
[英]Python: randomly select from list of keys with maximum value in dictionary
[英]Python: Randomly Select One Key From All Keys in a Dictionary
假設我使用print (hamdict.keys())
訪問了我的字典鍵
下面是一個示例 output:
我知道我的字典列表有 552 個元素的長度。 我想從我的列表中隨機 select 一個“關鍵”詞並將其分配給變量“starter”。 我嘗試使用下面的代碼執行此操作(注意:我有一本名為 hamdict 的字典):
random_num = random.randint(0, len(hamdict.keys())-1)
print (random_num)
print (hamdict.keys()[random_num])
我能夠獲得 random_num 的值,因此這似乎可行。 但第二次打印返回以下錯誤:
如何修復我的代碼?
my_dictionary.keys()
返回類似生成器的 object,而不是列表。 您可以通過先將其轉換為列表來獲得所需的內容
print(list(hamdict.keys())[random_num])
嘗試這個:
random.sample(hamdict.keys(),1)[0]
sample() function 從列表或迭代器中隨機選擇給定數量的項目。 與選擇 function 不同,它支持迭代器,因此您無需事先從鍵中列出列表。 結果是一個列表,因此您需要從 output (因此[0]
)中獲取其第一項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.