函数2

Posted 星空的衣角

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数2相关的知识,希望对你有一定的参考价值。

一、函数

1.1、函数的关键字

def      定义函数

return      返回值

pass      占位

exit(1)      直接退出并返回1

1.2、高阶函数

高阶函数都是可以通过代码逻辑实现,但是自己写的函数的复杂程度或者算法不一定有人家内置的好

map高阶函数:

def f(x):
  return x*x

print(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 l

print(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+y

reduce(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))

列表生成式:

 

以上是关于函数2的主要内容,如果未能解决你的问题,请参考以下文章

tensorflow学习-------激活函数(activation function)

shell 函数 与 函数库

ES6深入浅出-2 新版函数:箭头函数 2 视频-1.视频 箭头函数

2.1python高级编程1-函数式编程和装饰器

python函数基础2

第2章 重新组织函数:内联函数和内联临时变量