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