Python基础(map/reduce)
2024-10-06 00:42:44
from functools import reduce#reduce函数在python3的内建函数移除了,放入了functools模块
#map()
list1 = [1,2,3,4,5,6,7,8,9]
def map1(x):
return x * x
list2 = list(map(map1,list1))#map()传入的第一个参数是f,即函数对象本身。由于结果r是一个Iterator,Iterator是惰性序列,因此通过list()函数让它把整个序列都计算出来并返回一个list
#print(list2)#[1, 4, 9, 16, 25, 36, 49, 64, 81] arr = list(map(str,list1))
#print(arr)#['1', '2', '3', '4', '5', '6', '7', '8', '9'] #reduce()
numbers = [1,2,3,4,5,6]
def add(x,y):
return x + y
#print(reduce(add,numbers)) #字符串数字转换成整数数字
def int2str(s):
dict1 = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}
map1 = list(map(lambda x:dict1[x],s))
return reduce(lambda x,y:x*10+y,map1)
#print(int2str('123'))#关键字lambda表示匿名函数,冒号前面的x表示函数参数,匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果 list2 = ['abc','Abc','aBc']
def lower1(arr):#利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字
def f1(x):
str1 = ''
for key,value in enumerate(x):
# print(key,'---',value)
if key == 0:
str1 += value.upper()
else:
str1 += value.lower()
return str1
l = list(map(f1,arr))
return l
#print(lower1(list2))#['Abc', 'Abc', 'Abc'] #print(sum(list1))#sum()函数可以接受一个list并求和 list3 = [1,2,3]
def prod(arr):#prod()函数,可以接受一个list并利用reduce()求积
def f1(x,y):
xy = x * y
return xy
return reduce(f1,arr)
print(prod(list3))
最新文章
- [Voice communications] 音量的控制
- Markdown 语法整理
- thinkphp中的setInc、setDec方法
- Quartz 入门详解
- RASPBERRY PI wifi配置
- 类似qq的浮动窗口 ,随着滚轴的滚动,始终处于屏幕的中间(能看到运动的过程)
- 集成 Union Pay - 银联支付
- linux逻辑卷管理
- HDOJ 1495 非常可乐 【BFS】
- WebForm 生成并显示二维码
- switch 循环中的case理解
- RabbitMQ学习总结
- JS全角与半角转化小结
- 1209 -The MySQL server is running with the --read-only option
- iOS - UILabel添加图片之富文本的简单应用
- 2018/09/05《涂抹MySQL》【权限管理】学习笔记(二)
- N76E003的学习之路(ADC简单小例程篇)
- Android控件Gridview实现多个menu模块,可添加可删除
- java操作Excel之POI(3)
- GIS在水利中的应用