何かよりも「小さい」値のリストをカット/スライスするために、Pythonに事前に作成された最適化されたツール/ライブラリはありますか?
ここに問題があります: 次のようなリストがあるとしましょう:
a=[1,3,5,7,9]
6の数字をすべて削除したい<=
ので、結果のリストは次のようになります
[7,9]
index(6)
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
)。
前もって感謝します。