擅长:python、mysql、java
<p>你可以试试这个。只要检查一下第一个元素和下一个元素的区别</p>
<pre><code>event_list = [3, 10, 12, 140, 140, 150, 300]
new_list=[event_list[0]]+
for element in event_list[1:]:
if abs(new_list[-1]-element)>=100:
new_list.append(element)
print new_list
</code></pre>
<p>如果你想做genric方法,请看下面的答案</p>
<pre><code>def elapsed_list(items,time):
new_list=[items[0]]
for element in items[1:]:
if abs(new_list[-1]-element)>=time:
new_list.append(element)
return new_list
print elapsed_list(event_list,10)
#output [3, 140, 150, 300]
print elapsed_list(event_list,100)
#output [3, 140, 300]
print elapsed_list(event_list,200)
#output [3, 300]
</code></pre>
<p>解释我的痛苦</p>
<ol>
<li>我们需要区分第一个元素和下一个元素的逻辑</li>
<li>所以我取了另一个列表,它取第一个元素,如果差值大于100,则计算差值。将其附加到新的\u列表</li>
<li>现在perform与新添加的元素get by <code>new_list[-1]</code>相同</li>
</ol>