特定の辞書から 3 つの選択肢のサンプルを作成したいと考えています。辞書の長さは可変です。
前のコードで行ったことは、重み付けされた値のディクショナリを作成することです。この場合、12 個の値とキーです。
ただし、私の random.choice からサンプルを取得できません。
Python 3 の使用
私の辞書は
dictionary = {'Three': 14.4, 'Five': 11.2, 'Two': 14.4, 'Thirteen': 3.3, 'One': 17.6, 'Seven': 3.3, 'Nine': 3.3, 'Ten': 3.3, 'Twelve': 3.3, 'Eight': 3.3, 'Four': 12.0, 'Six': 10.4}
辞書のランダムな選択から 3 つのサンプルを取得しようとします。
my_sample = random.sample(random.choice(dictionary), 3)
print(my_sample)
しかし、このエラーが発生します
Traceback (most recent call last):
File "c_weights.py", line 38, in <module>
my_sample = random.sample(random.choice(dictionary), 3)
File "/usr/lib64/python3.3/random.py", line 252, in choice
return seq[i]
KeyError: 11
取得しようとしています
たとえば、My_sample = ('One', 'Four','Twelve') です。
編集:私が何に取り組んでいるのかを明確にするために。
('One', 'Four','Twelve')
('Two', 'One','Six')
('Four', 'Two','Five')
('One', 'Eight','Two')
('Thirteen', 'Three','Six')
したがって、辞書内からの加重確率に基づいて構築された一意のセット(または、それがより良い場合はタプル)