标签:map ble 退出 ted 1.2 turn items key 不同的
一、函数
1.1、函数的关键字
def 定义函数
return 返回值
pass 占位
exit(1) 直接退出并返回1
1.2、高阶函数
高阶函数都是可以通过代码逻辑实现,但是自己写的函数的复杂程度或者算法不一定有人家内置的好
map高阶函数:
def f(x):
return x*xprint(map(f, [1, 2, 3, 4]))
print(list((map(f, [1, 2, 3, 4]))))
for i in map(f, [1, 2, 3, 4]):
print(i)
仿照map:
def testMap(fun, iter):
l = list()
for i in iter:
l.append(fun(i))
return lprint(testMap(f, [1, 2, 3, 4]))
filter()函数用于过滤序列,和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素,例子:
filter(lamdba x: x%2 ==1, [1, 2, 3, 4, 5])
reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:
def add(x, y):
return x+yreduce(add, [1, 2, 3, 4, 5])
# 1, 2 = 3
# 3, 3 = 6
# 6, 4 = 10
# 10, 5 = 15
高阶函数中唯一用的比较多的,就是sorted排序
参数:sorted(iterable, key, reverse)
iterable 一个可迭代的对象、 key 对什么进行排序、 reverse bool类型,如果为true为反序, 默认为false、 返回值是一个list
print(sorted([1, 4, 342, 3, 45, 76, 435, 34], reverse=True))
对字典的key或者val进行排序:
m = dict(a=1, c=10, b=20, d=15)
print(m)
print(sorted(m.items()))
print(sorted(m.items(), key=lambda x: x[0]))
print(dict(sorted(m.items(), key=lambda x: x[1])))
# print(sorted(m.items(), key = lambda d:d[1], reverse = True))
列表生成式:
标签:map ble 退出 ted 1.2 turn items key 不同的
原文地址:https://www.cnblogs.com/Jweiqing/p/8849537.html