私のリストは約です。 10000アイテム。現在の状況では、すべてのアイテムに関連する重み(優先度または重要度)があります。最小の重みは-100
(負の値とゼロの値は削除可能)で、最高の重みは1500
です。体重は人々の直感によって決定されます(どのように項目がコミュニティにとって重要であると思うか)。最も重要なアイテムを決定することは容易ではないので、ランダムな要素を使用したいので、重みの低いアイテムが選択され、将来の重さが調整されます(常識とランダム性)。ランダムなアイテムを選択してください。
関数をコード化する方法を知っていますか?getItem
?
def getItem(dict):
# this function should return random item from
# the dictionary of item-weight pairs (or list of tuples)
# Normally I would return only random item from the dictionary,
# but now I'd like to have this: The item with weight 1500 should
# have much more chance to be returned than the item with weight 10.
# What's my idea is to sum up the weights of all items and then compute
# some ratios. But maybe you have better idea.
return randomItem
データベースにデータを格納している場合は、SQLを使用することができますあなたの
こんにちは、私は最近、そのような質問に答えました:http://stackoverflow.com/a/9073313/862629 –