python index 自己实现

本文深入探讨了二分查找算法的实现过程,通过一个具体的Python代码示例,详细讲解了如何在已排序的列表中查找特定的目标值。文章首先定义了一个包含多个整数的列表,然后使用sort()函数对其进行排序,接着定义了一个find()函数来实现二分查找,最后通过调用该函数和列表的index()方法验证了查找结果的正确性。
 1 l = [2,3,4,223,42,56,7,389,586,845,8,894,343,46,345,3556,23,233,45,25,78,456,785,576,344,6,34,563,]
 2 l.sort()
 3 print(l)
 4 def find(l ,aim,key=0):
 5     '''二分法找值
 6     key的关键字是这个新序列的第一个元素在原序列的哪一个位置
 7     mid_index 是新序列的的中值
 8     '''
 9     mid_index =len(l)//2
10     if len(l)<=1 and l[0] != aim:
11         return "silly bi "
12     if l[mid_index]>aim:
13         return find(l[0:mid_index],aim,key=key)
14     elif l[mid_index]<aim:
15         return find(l[mid_index+1:],aim,key=mid_index+key+1)
16     elif l[mid_index] == aim:
17         return mid_index+key
18 
19 print(find(l,363))
20 print(l.index(343))
index转译

 

转载于:https://www.cnblogs.com/double-t/p/10168074.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值