小编典典

在元组列表中使用bisect?

python

我试图找出例如如何在元组列表中使用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()


阅读 216

收藏
2021-01-20

共1个答案

小编典典

您可以将值分离到单独的列表中。

from bisect import bisect

data = [(3, 1), (2, 2), (5, 6)]
fst, snd = zip(*data)
idx = bisect(fst, 2)

但是请注意,bisect要正常工作,您的数据确实应该排序…

2021-01-20