gpt4 book ai didi

python - Python 列表的 SQL TOP 1 模拟

转载 作者:太空宇宙 更新时间:2023-11-04 11:06:01 24 4
gpt4 key购买 nike

这是我输入的 csv 文件的示例:

...
0.7,0.5,0.35,14.4,0.521838919218

0.7,0.5,0.35,14.4,0.521893472678

0.7,0.5,0.35,14.4,0.521948026139

0.7,0.5,0.35,14.4,0.522002579599
...

我需要选择最后一个 float > 随机数所在的顶行。我当前的实现非常慢(脚本有很多此循环和外部循环的迭代):

for line in foo:
if float(line[-1]) > random.random():
res = line
break
...

我怎样才能让它变得更好更快?

编辑:

有人建议我使用 bisect 来完成这项任务,但我不知道该怎么做。

最佳答案

最快的方法是使用二分法(假设 float 列表是有序的)。你可以这样做:

import bisect

float_list = [line[-1] for line in foo]
index = bisect.bisect(float_list, random.random())
if index < len(float_list)
result = foo[index]
else:
result = None # None exists

必须对 float 列表进行排序才能使其工作。

关于python - Python 列表的 SQL TOP 1 模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/821416/

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