簡體   English   中英

從字典中提取鍵值

[英]Extracting keys-values from dictionary

import random

dictionary = {'dog': 1,'cat': 2,'animal': 3,'horse': 4}
keys = random.shuffle(list(dictionary.keys())*3)
values = list(dictionary.values())*3
random_key = []
random_key_value = []

random_key.append(keys.pop())
random_key_value.append(???) 

對於random_key_values.append,我需要添加與彈出鍵對應的值。 我該如何實現? 我需要利用列表的倍數,也不能直接將字典相乘。

我正在使用python(您應該在問題中指定語言)。

據我了解,您想乘以字典中的元素。 所以

list(dictionary.keys()) * 3

不是您的解決方案: [1,2] * 3導致[1,2,1,2,1,2]

嘗試改用列表理解:

[i * 3 for i in dictionary.keys()] 

要考慮順序(因為您對其進行了混洗),請在相乘之前先對鍵進行混洗,然后創建值列表(以與被洗鍵相同的順序),最后將鍵相乘:

keys = dictionary.keys()
random.shuffle(keys)
values = [dictionary[i]*3 for i in keys]
keys = [i * 3 for i in keys]

最后:

random_key.append(keys.pop())
random_key_value.append(values.pop())

還要注意隨機函數,它在您使用時不起作用。 請參閱文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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