lambda/sorted/fliter/map

#匿名函数lambda
语法:lambda 参数:返回值。__name__的值都是
#a = lambda n :n*n
#fn =lambda *args:max(args)
#1.函数的参数可以有多个,多个参数之间用逗号隔开
#2.匿名函数不管多复杂,只能写一行,且逻辑结束后直接返回数据
#3.返回值和正常的函数一样,都是任意数据类型

#sorted(lst)#内置函数中提供了一个通用的排序方案
lst = [“三国演义”,“游戏王”,“钢炼”,“全职猎人”]
def func(s):
return len(s)
l1 = sorted(lst,key = func,reverse =True)
print(l1)
#key:排序方案,sorted函数内部会把可迭代对象中每一个元素拿出来交给后面的key
#后面的key计算出一个数字,作为当前这个元素的权重,整个函数根据权重进行排序

#筛选filter()
lst = ["A123"“A234”,“B231”,“C412”]
def func(el):
if el[0] ==“A”:
return False #不想要
else:
return True #想要的
f = filter(func,lst) #将lst中每一项传给func,所有返回True的会保留
print("iter"in dir(f)) #判断是否可进行迭代
for e in f:
print(e)

#映射函数map()
#语法:map(function,iterable)可以对可迭代对象中的每一个元素进行映射,分别去执行function
def func():
print("")
func()
func()
#递归深度,可以自己调用自己的次数
#官方文档中递归最大深度是1000,在这之前就会报错

#遍历E:/python文件夹,打印出所有文件和普通文件的文件名
import os
def func(filepath,n):
#1.打开这个文件夹
files=os.listdir(filepath)
for file in files:#文件名
f_d= os.path.join(filepath,file)#E"/python/文件名
#4.判断是否是文件夹
if os.path.isdir(f_d):
#5.如果是文件夹继续再来一遍
print("\t"*n,file)
func(f_d,n+1)
else: #如果不是文件夹,普通文件
print("\t"*n,file)
func(“e:/python”,0)

#二分法查找可以提高效率,前提条件:有序序列
lst = [22,33,44,55,66,77,88,99,111]
n =77
left = 0
right =len(lst)-1
while left <= right:
mid = (right+left) // 2
if n < lst[mid]:
# left = left +1
right = mid - 1
elif n > lst[mid]:
left = mid +1
# right = right -1
elif n ==lst[mid]:
print(“this is number%s” %lst[mid])
break
else:
print(“None”)

#递归完成二分法
lst = [22,33,44,55,66,77,88,99,111]
def func(n,left,right):
if left <= right: #边界
mid = (left+right)//2
if n < lst[mid]:
right = mid -1
#深坑。
#func(n,left,right) #递归
return func(n,left,right)
elif n > lst[mid]:
left = mid +1
#深坑。
#func(n,left,right) #递归
return func(n,left,right)
else:
print(“this is number%s” %lst[mid])
return mid
else:
print(“None”)
return -1
ret = func(77,0,len(lst)-1)
print(ret)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值