从字典中提取键值

时间:2014-12-11 07:19:02

标签: python 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,我需要添加与弹出的键对应的值。我怎样才能做到这一点?我需要使用列表的倍数,我也不能直接乘以字典。

1 个答案:

答案 0 :(得分:2)

我正在使用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())

还要注意随机功能,它不会像你使用它一样工作。请参阅documentation