码迷,mamicode.com
首页 > 其他好文 > 详细

函数2

时间:2018-04-15 21:49:02      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:map   ble   退出   ted   1.2   turn   items   key   不同的   

一、函数

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

标签:map   ble   退出   ted   1.2   turn   items   key   不同的   

原文地址:https://www.cnblogs.com/Jweiqing/p/8849537.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!