100 項目のディクショナリがあり、そのディクショナリの 10 要素の 10 グループを作成する必要があります。1 つのグループの要素は、辞書の要素からランダムに選択する必要があります。どうすればいいですか?
質問する
1122 次
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 に答える