内置函数
1.过滤器
就像捞鱼一样总要过滤掉小鱼,python也有内置过滤器函数filter。
filter需要两个参数,第一个参数是函数体,第二个参数是可迭代对象。
下面实现过滤一个列表中小于等于5的元素:
def fun(x):
if x > 5:
return x
print(filter(fun, li)) # <filter object at 0x000002151C0AB108>
print(list(filter(fun, li))) # [6, 7, 8]
我们需要对filter的输出进行类型转换成list这样我们就可以看到结果了。
2.统一操作
有时候我们需要对元素进行统一操作,这时候我们可以用内置函数map进行统一操作。
map的第一个参数是函数体,后面可以是一个或多个可迭代对象。
下面用匿名函数实现列表元素减一操作:
li = [2, 3, 4, 5]
print(list(map(lambda x: x - 1, li))) # [1, 2, 3, 4]
同样map也需要类型转换。
3.数据配对
通过zip函数可以实现两个可迭代对象的数据配对成字典。前提数据必须一对一。
tu = ('a', 'b', 'c')
li = [2, 4, 6]
print(dict(zip(tu, li))) # {'a': 2, 'b': 4, 'c': 6}
回调函数
回调函数是指把一个函数的函数体当作参数传给另一个函数去调用。
def fun1(f):
f()
print(111)
def fun2():
print(222)
fun1(fun2)
fun2作为参数传给fun1,在fun1中实现对fun2的调用。
作业答案
# 判断是否是质数
def isPrime(n) -> bool:
for i in range(n):
if n % i == 0:
return False
return True
# 判断字符串顺序
def order(str1):
str2 = "".join(sorted(str1))
if str2 == str1:
return "UP"
str2 = "".join(sorted(str1, reverse=True))
if str2 == str1:
return "DOWN"
return False
结束语
续篇内容较少,所以做的会比较快。
各位看官点个赞吧,这对我非常重要。
ps:现在关注我,以后就是老粉啦!!!
下篇预告
目前我们已经学习了通过键盘和电脑进行沟通,可是有些数据文件大小有几个G,这种情况总不能人工用键盘输入到电脑中吧……