擅长:python、mysql、java
<p>如果您接受显式地浏览列表,则只能浏览一次,方法是为具有最低计数的canditate生成一个列表。如果当前计数小于旧最小值,则初始化新列表,如果等于,则添加到列表:</p>
<pre><code>def get_least_used(candidates, usage_counts):
mincount = sys.maxint
for c in candidates :
count = usage_counts[c]
if count < mincount:
leastc = [ c ]
mincount = count
elif count == mincount:
leastc.append(c)
return random.choice(leastc)
</code></pre>
<p>正如您所说的使用python2.6,我用<code>sys.maxint</code>初始化<code>mincount</code>。在python3.x下,您必须选择一个合理的值<em></em>great</p>