擅长:python、mysql、java
<p>使用right key函数,<code>itertools</code>模块中的<code>groupby</code>方法使这项工作相当简单:</p>
<pre><code>from itertools import groupby
def ranger(values, range_size):
def keyfunc(n):
key = n/(range_size+1) + 1
print '{} in {}'.format(n, key)
return key
return [len(list(g)) for k, g in groupby(values, key=keyfunc)]
myset = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
print ranger(myset, 10)
print ranger(myset, 15)
</code></pre>