我试图找出例如如何在元组列表中使用bisect
[(3, 1), (2, 2), (5, 6)]
如何根据每个元组中的[1]将列表二等分?
list_dict [(69, 8), (70, 8), ((65, 67), 6)] tup1,tup2 (69, 8) (70, 8) list_dict [((65, 67), 6)] fst, snd ((65, 67),) (6,)
我要插入二等分
idx = bisect.bisect(fst, tup1[1]+tup2[1])
这给了我 unorderable types: int() < tuple()
unorderable types: int() < tuple()
您可以将值分离到单独的列表中。
from bisect import bisect data = [(3, 1), (2, 2), (5, 6)] fst, snd = zip(*data) idx = bisect(fst, 2)
但是请注意,bisect要正常工作,您的数据确实应该排序…
bisect