-1

100 項目のディクショナリがあり、そのディクショナリの 10 要素の 10 グループを作成する必要があります。1 つのグループの要素は、辞書の要素からランダムに選択する必要があります。どうすればいいですか?

4

1 に答える 1

2

ジェネレーターを使用してランダムな値を生成できます。

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]]

(key, value)これにより、一度に 10 ペアのグループが生成されます。

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
于 2013-06-05T19:38:55.947 に答える