Python经典案例,python经典例题100道文库
前几天贴的介绍:《15个经典基础Python练手案例,基本功就是这样练成的》。大家反应都不错,所以我今天又来了。今天我们来做点高难度的,直接上七个高大上的案例给大家欣赏~
导言1。排序和用户自定义函数的例子。选择排序2。匿名函数的定义和使用。练习4。练习5。求两个列表元素的和,返回新的列表6。找出字符串7中每个单词的长度。将函数作为参数接收或返回函数。
1.排序和自定义函数的情况1:选择排序情况1:选择排序。
利用选择性排序的思想实现列表数据的升序排序。
参考代码:
lt=[45,12,56,-32,-3,44,75,-22,100]
长度=长度(lt)
# print(排序前: str(lt))
对于范围内的I(0,长度-1):
#内循环控制每一轮执行的次数,J可以认为是比较空格或箭头。
对于范围内的j(I ^ 1,长度):
#判断两个空间中的内容,如果选择的空间大于比较空间中的数据,则交换数据。
if lt[i] lt[j]:
#temp=lt[i]
#lt[i]=lt[j]
# lt[j]=温度
lt[i],lt[j]=lt[j],lt[i]
# print(排序后: str(lt))
二。匿名函数的定义和使用要求:string data This is \ n a \ la tiao -get This is a test
第一步:使用stringfunction的split()函数:可以默认删除字符串中的空格、\n、\t等内容。
然后以列表的形式返回字符串数据。
第二步:使用字符串的join()函数——将列表中的元素以空格的形式连接成一个字符串数据,并返回。
str1=这是\na \latiao
lt=str1.split()
打印(lt)
str2=“”。加入(lt)
print(str1,type(str1))
打印(str2,类型(str2))
打印(x:“”。join(x.split())(str1))
三。高阶函数练习1。lt=[SDFASDFA , EWQREWREWQR , DSAFA12312FDSAFD , safs ADF ]-获取长度列表
2.tp=(汤姆,李雷,杰克,韩梅梅)获取列表(所有元素都大写)
3.
lt1=[1,2,3,4]
lt2=[5,6,7,8]
已计算:lt1[0]lt2[0] lt1[1]lt2[1].
5 26最后得到累计值。
参考代码:
从functools导入减少
lt=[sdfasdfa , ewqrewrewqr , dsafa12312fdsafd , safsadf]
打印(列表(map(len,lt)))
tp=(汤姆,李雷,杰克,韩梅梅)
#自定义功能:
定义函数(名称):
return name.capitalize()
打印(列表(map(func,tp)))
打印(列表(map(lambda x:x . capital()))
打印(列表(map(str . capital,tp)))
lt1=[1,2,3,4,5]
lt2=[5,6,7,8]
#利用map的思想得到组合的数据对象(map类型),对象中元素的内容为:15 26 37 48
Lt1 _ map=map (lambda x: x * 10,lt1)# map中的内容为:10,20,30,40
Ret _ map=map (lambda x,y: x y,LT1 _ map,LT2)# map中的内容是:15,26,37,48
打印(列表(lt1_map))
打印(列表(ret_map))
#使用reduce的思想来累积map对象中的数据
num=reduce(x,y: x y,ret_map)
Print(并且值为:%s %num )
第四,高阶函数和匿名函数之间的协调。
从functools导入减少
#模块1:和过滤器的组合
#lt=[1,2,3,4,5,6,7,8,9] - [3,6,9]
lt=[1,2,3,4,5,6,7,8,9]
打印(列表(过滤器(lambda x:x%3==0,lt)))
#模块lambda和map的组合
#容器/序列对象:范围对象
mo=map(x:x * * 2,range(5))
打印(清单(生产订单))
#模块3:
在模块2的基础上扩展功能:范围(10)
过滤后要保留的数据范围是:(5,50)
mo=map(x:x * * 2,range(10))
fo=过滤器(x:x 5和x 50,mo)
打印(列表(fo))
#模块4: lambda和reduce一起使用
lt=[1,2,3,4,5]
my_sum=reduce(lambda x,y:x y,lt)
打印(我的总数)
5.求两个列表元素的和,并返回新的列表引用代码:
lt1=[1,2,3,4]
lt2=[5,6]
打印(列表(映射(x,y:x y,lt1,lt2)))
不及物动词找出字符串中每个单词的长度参考代码:
欢迎来到拉条
word_list=content.split()
mo=map(len,word_list)
打印(清单(生产订单),类型(生产订单))
七、接收一个函数作为参数,或者接收一个函数作为返回值作为参数,或者取一个函数作为返回值。
#创建一个列表
l=[1,2,3,4,5,6,7,8,9,10]
#定义一个函数来检查任意数是否为偶数。
定义fn2(i):
如果i % 2==0:
返回True
返回False
#该函数用于检查指定的数字是否大于5
定义fn3(i):
如果我5:
返回True
返回False
#这个函数可以取出3的倍数
定义fn4(i):
如果i % 3==0:
返回True
返回False
Def (func,lst): #定义高阶函数fn
#创建新列表
new_list=[]
#过滤列表
对于lst中的n:
新列表附加(n)
#返回新列表
返回新列表
#此时可以随意调用不同的函数得到不同的结果,
#只需改变高阶函数fn的两个参数。
Print(fn(fn4,l))#此时调用fn4,链表是L,意思是把L的链表中所有能被3整除的数都取出来。
本文五包辣条
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。