首页 > Python高级函数--map/reduce

Python高级函数--map/reduce

名字开头大写 后面小写;练习:

1 def normalize(name):
2     return name[0].upper() + name[1:].lower()
3 L1 = ['adam', 'LISA', 'barT']
4 L2 = list(map(normalize, L1))
5 print(L2)

reduce求积:

1 from functools import reduce
2 
3 def prod(L):
4     def fn(x, y):
5         return x * y
6     return reduce(fn, L)
7 print('3 * 5 * 7 * 9 =', prod([3, 5, 7, 9]))

reduce把结果继续和序列的下一个元素做累积计算

字符串转浮点数练习:

 1 from functools import reduce
 2 
 3 def str2int(s):
 4     def char2num(c):
 5         return { '0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[c]
 6     return reduce(lambda x, y: x *10 + y, map(char2num, s))
 7 
 8 def str2float(s):
 9     s_list = s.split('.')
10     float_i = str2int(s_list[0]) #123
11     float_f = str2int(s_list[1]) / (10**len(s_list[1])) #456/1000
12     return float_i + float_f
13 print('str2float('123.456') =', str2float('123.456'))

 

转载于:https://www.cnblogs.com/bingbug/p/7819412.html

更多相关:

  • 栈可以分为 顺序栈: 数组实现链式栈: 链表实现空间复杂度 栈的空间复杂度: 有一个n个元素的栈, 在入栈和出栈过程中, 只需要存储一个临时变量存储空间, 所以空间复杂度是O(1) 并不是说栈有n个元素, 空间复杂度就是O(n), 而是指除了原本的空间外, 算法需要的额外空间 栈要满足后进先出(LIFO)的特性, 栈有以下几种方法...

  • 什么是闭包   python中函数名是一个特殊的变量,它可以作为另一个函数的返回值,而闭包就是一个函数返回另一个函数后,其内部的局部变量还被另一个函数引用。   闭包的作用就是让一个变量能够常驻内存。 def count():fs = []for i in range(1, 4):def f():return i*ifs.appen...

  • 最近尝试了一下Android的Gradle打包,发现确实比Ant打包会方便很多,特此记录下来。 注:android的gradle现在插件的版本已经是0.14.3了,对于一些老的方法和api,有一些已经被移除,无法使用(http://tools.android.com/tech-docs/new-build-system/migrati...

  • /*判断屏幕宽高比是否为16:9*/ function isScreen16to9() {return window.screen.height / window.screen.width === 9 / 16; }...

  • /*关闭、刷新、跳转、离开当前网页前提示*/ onbeforeunload = function () {return false; };  ...

  • let json = {/**判断JSON格式*/ isJSON: function (str) {if (typeof str == "string") {try {var obj = JSON.parse(str);if (typeof obj == "object" && obj) {return true;} else {...

  •   项目结构   index.js //必须要安装否则就别想运行了❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤ //npm i body-parser -D & cnpm i express & cnpm i node-xlsx & cnp...

  • 一、递归 函数    为什么要有函数,提高代码的可读性,避免重复的代码,提高代码的复用性      在函数中能用return的不要print 1、递归的最大深度997 def foo(n):print(n)n+=1foo(n) foo(1) 递归的最大深度 2、修改递归的最大深度     由此我们可以看出,未报错之前能看到的最大数...