python:有序的列表中模糊匹配给定的数值

更新时间:2023-05-12 00:39:32 阅读: 评论:0

python:有序的列表中模糊匹配给定的数值
给定⼀个值,在列表中查找近似的对应的值
列表需要有序,正序逆序均可
from bict import bict_left
def takeClost(myList, myNumber):
if myNumber >=max(myList):
return max(myList)
elif myNumber <=min(myList):
return min(myList)
if myList[0]< myList[1]:
pos = bict_left(myList, myNumber)# 找到 mylist ⾥⾯第⼀个不⽐ mynumber ⼩(即 >= )的数的索引
下标# 返回的插⼊点 pos 可以将数组myList分成两部分。左侧是 all(val < x for val in myList[lo:i]) ,右侧是 all(val >= x for val in myList[i:hi])        before = myList[pos -1]
after = myList[pos]
if after - myNumber < myNumber - before:
return after
el:
return before
el:
myList = myList[::-1]
pos = takeClost(myList, myNumber)
return pos
测试⼀下
list=[35.11225,35.2365556,35.3656545,35.4556685]
answer = takeClost(cityarea_list,35.40)
print(answer)
输出:35.3656545
参考但是这个列表必须正序

本文发布于:2023-05-12 00:39:32,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/592474.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:列表   正序   有序   给定   需要
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图