擅长:python、mysql、java
<p>我建议<code>bisect</code>或<code>itertools.takewhile</code>,这取决于您计划如何使用它。你知道吗</p>
<p>对分:</p>
<pre><code>import bisect
def index_range(n, lst):
return (bisect.bisect_left(lst, n), bisect.bisect_right(lst, n))
def final_output(rng, lst):
return [index_range(n, lst) for n in rng]
values = [0,0,1,1,1,1,1,2,2,2,3,3,3,3,3,3,4,4,4,5,5,5,5]
print(final_output(range(0,6), values))
</code></pre>
<p>给予</p>
<pre><code>[(0, 2), (2, 7), (7, 10), (10, 16), (16, 19), (19, 23)]
</code></pre>