擅长:python、mysql、java
<p>我发现了一个很酷的python库<a href="https://pypi.org/project/python-intervals/" rel="nofollow noreferrer">^{<cd1>}</a>,它大大简化了您的问题:</p>
<p>用<code>pip install python-intervals</code>安装它并尝试下面的代码。你知道吗</p>
<pre><code>import intervals as I
# This is a recursive function
def counter(timevalues, w=0.050):
if not timevalues:
return "" # stops recursion when timevalues is empty
# Make an interval object that provides convenient interval operations like 'contains'
window = I.closed(
timevalues[0], timevalues[0] + w)
interval = list(
filter(window.contains, timevalues))
count = len(interval)
timevalues = timevalues[count:]
print(f"[{interval[0]} : {interval[-1]}] : {count}")
return counter(timevalues)
if __name__ == "__main__":
times = [-1.9493, -1.9433, -1.911, -1.8977, -1.8671]
print(counter(times))
</code></pre>
<p>根据需要调整它,例如,您可能希望返回字典而不是字符串。你知道吗</p>
<p>您仍然可以绕过这个问题而不使用这里的<code>python-intervals</code>库,但我在这里介绍了它,因为在代码中很可能需要其他复杂的操作。你知道吗</p>