簡體   English   中英

Python:隨機 Select 字典中所有鍵中的一個鍵

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

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