列表的作用是一次性存储多个数据,程序员可以对这些数据进行的操作有:增、删、改、查。
下面讲解的是对列表的查找操作,可以分为两种方法,一种是根据下标来进行查找,另外一种是根据查找函数来操作。
回忆一下知识点,之前讲过字符串的时候有说到下标,下标是计算机内存分配的从0开始的编号,目的是根据下标可以找到针对性的数据。列表也可以根据下标来找到数据,后面学习的元组同样也可以。
语法:
注意:如果以后都是用下标来查找数据,语法无非就是:序列名[下标]
快速体验:
打印结果如图:
语法:
快速体验:
执行结果如图:
注意:
语法:
快速体验:
注意 :
-- 2. 如果书写了开始和结束位置的下标,则在这个范围内查找,存在则返回开始位置的下标,如果查找的数据不存在则返回0;
语法:
注意: len()方法是一个公共的方法,无论是字符串、列表还是元组都可以使用
快速体验:
以上就是列表的4种查找方法,每个方法有自己的语法和作用,这个知识点属于 Python基础教程 范畴,所以学起来还是比较轻松地,大家主要多多练习记住函数以及使用方法即可。
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
一个算法应该具有以下七个重要的特征:
①有穷性(Finiteness):算法的有穷性是指算法必须能在执行有限个步骤之后终止;
②确切性(Definiteness):算法的每一步骤必须有确切的定义;
③输入项(Input):一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输 入是指算法本身定出了初始条件;
④输出项(Output):一个算法有一个或多个输出,以反映对输入数据加工后的结果。没 有输出的算法是毫无意义的;
⑤可行性(Effectiveness):算法中执行的任何计算步骤都是可以被分解为基本的可执行 的操作步,即每个计算步都可以在有限时间内完成(也称之为有效性);
⑥高效性(High efficiency):执行速度快,占用资源少;
⑦健壮性(Robustness):对数据响应正确。
相关推荐:《Python基础教程》
五种常见的Python算法:
1、选择排序
2、快速排序
3、二分查找
4、广度优先搜索
5、贪婪算法
def prime(n):if n<=2:
return []
result=[False,False]+[True]*(n-2)
for i in range(len(result)):
if result[i]==True:
for j in range(2*i,len(result),i):
result[j]=False
return [i for i in range(len(result)) if result[i]==True]
def bi_search(prime,primelist,start,end):
if start>end :
return -1
mid=(start+end)//2
if primelist[mid]==prime:
return mid
elif primelist[mid]>prime:
end=mid-1
else:
start=mid+1
return bi_search(prime,primelist,start,end)
if __name__=='__main__':
n=int(raw_input())
primelist=prime(n)
num=raw_input()
while num:
num=int(num)
index=bi_search(num,primelist,0,len(primelist)-1)
print(index)
num=raw_input()