剪切/切片排序列表的优化方法
Python中是否有任何预制的优化工具/库来剪切/切片“小于”值的列表?
这是问题所在:假设我有一个类似的列表:
a=[1,3,5,7,9]
我想删除所有为<=
6的数字,因此结果列表为
[7,9]
6不在列表中,所以我不能使用列表的内置index(6)
方法。我可以做类似的事情:
#!/usr/bin/env python
a = [1, 3, 5, 7, 9]
cut=6
for i in range(len(a)-1, -2, -1):
if a[i] <= cut:
break
b = a[i+1:]
print "Cut list: %s" % b
如果要从中剪切的索引接近列表的末尾,那将是一种相当快捷的方法,但是如果该项目接近列表的开始,那将是低效率的(假设我要删除所有>2
,将会有很多迭代)。
我也可以使用二进制搜索或类似方法实现自己的find方法,但是我想知道是否还有更多…宽范围内建的库来处理这种类型的事情,在其他情况下(例如,如果我需要删除所有的数字>=6
)。
先感谢您。