字典元素的随机组

时间:2013-06-05 19:32:30

标签: python random dictionary

我有一个包含100个项目的字典,我将创建10个10个元素的组合。必须从字典的元素中随机选择一个组的元素。我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可以使用生成器生成随机值:

import random

def random_group(d, size=10):
    keys = list(d.keys())
    random.shuffle(keys)
    for i in range(0, len(keys), size):
         yield [(key, d[key]) for key in keys[i:i + size]]

这一次产生10对(key, value)对的组:

for group in random_group(your_dictionary):
    print group

您可以调整功能,只生成键,只改为值或词典:

yield keys[i:i + size]                          # list of keys
yield [d[key] for key in keys[i:i + size]]      # list of values
yield {key: d[key] for key in keys[i:i + size]} # dictionary