11

関数を使用すると、要素の が取得されず、代わりに が取得さbisect_left()れるのはなぜですか?indexindex + 1

import bisect

t3 = ['carver', 'carvers', 'carves', 'carving', 'carvings']
print bisect.bisect(t3, 'carves')    # 3
print bisect.bisect(t3, 'carving')   # 4
print bisect.bisect(t3, 'carver')    # 1
4

1 に答える 1

25

bisect.bisect()bisect.bisect_right()は、ではなく の短縮名ですbisect.bisect_left()

bisect.bisect_left()代わりに、フルネームを使用する必要があります。

>>> import bisect
>>> t3 = ['carver', 'carvers', 'carves', 'carving', 'carvings']
>>> bisect.bisect(t3, 'carves')
3
>>> bisect.bisect_left(t3, 'carves')
2
>>> bisect.bisect == bisect.bisect_right
True
>>> bisect.bisect == bisect.bisect_left
False
于 2013-10-04T13:21:46.870 に答える