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