Python算法的代码学习
1 enumerate()用法 顺序查找
def linear_search(li,val):
for i,v in enumerate(li):#enumerate 索引序列 (列表,起始位置)
if v ==val:
return i
return
print(linear_search([2,3,4,6],4))
2 二分查找
def binary_search(li,val):
left=0
right=len(li)-1
while left<=right:
mid=(left+right)//2
if li[mid]==val:
return mid
elif li[mid] < val:
left=mid+1
else:
right=mid-1
else:
return None
li=input() # 输入格式是[1,2,3,5,7]
#li=[li] 这个输出是['[1,2,3,5,7]']
val=int(input()) #输入 是5
a=li[1:len(li)-1]# 此时a没有[] 只是1,2,3,5,7
a=a.split(",")
print(a) #['1','2',...] 字符串 还不是int
a = [int(i) for i in a]
print(a) #[1,2,3,5,7]
print(binary_search(li,a))
输入格式的学习!!!!!!!!!!!!!!!!!!!