gpt4 book ai didi

python - bisect_left 在列表中列表的第一项上,Python 3

转载 作者:太空宇宙 更新时间:2023-11-03 13:35:03 24 4
gpt4 key购买 nike

例如,我有一个这样的列表:

L = [(0, "test", "value"), (0, "test2", "value2")]

并且我需要 = bisect_left 每个元组的第一项以在列表中找到一个索引。但是,如果不事先创建所有这些第一项的列表,我想不出这样做的方法:

exampleList = [L[i][0] for i in range(len(L))]

有没有关于另一种方法的想法,因为它可以工作,但是当我的列表长到 5000 项时,它会非常慢,我需要一种更快的方法吗?

最佳答案

Python 有一个内置的 bisect_left , 你可以使用它。您不需要构建整个中间列表,您只需要一个惰性对象,它从该位置的元组中检索第一项。

一些简单的东西,比如:

class Proxy(object):
def __getitem__(self, item):
return L[item][0]

从 Python 3.10 的 bisect 开始,您可以 use a key function for the search ,因此不再需要包装器。在您的情况下,它将是 key=operator.itemgetter(0)

关于python - bisect_left 在列表中列表的第一项上,Python 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41386021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com