python map()函数和lambda表达式

1.map()

描述
map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

语法
map() 函数语法:
map(function, iterable, …)

参数
function – 函数
iterable – 一个或多个序列

返回值
Python 2.x 返回列表。
Python 3.x 返回迭代器。

def add(x,y):
    return x+y
num=map(add,[4,5],[6,7])
print(list(num)) #[10, 12]
print(add(1,2)) #3

2.lambda()

lambda匿名函数的格式:冒号前是参数,可以有多个,用逗号隔开,冒号右边的为表达式。其实lambda返回值是一个函数的地址,也就是函数对象。

a=lambda x,y:x+y
print(a(1,2))
#输出结果:3

3.将列表中的字符串转换为小数

#方法一:map()函数
import numpy as np
from tkinter import _flatten
a=[['0.256','0.258','0.569'],
   ['0.1','0.2','0.3']]
a=_flatten(a) #对于二维列表要转为一维列表才能map()
print(a)
a=list(map(lambda x:float(x), a)) #map返回的为迭代器,要再list
print(a)

#方法二:for循环一个一个转化
b=[]
a=[['0.256','0.258','0.569'],
   ['0.1','0.2','0.3']]
for i in range(len(a)):
    for j in range(len(a[0])):
        b.append(float(a[i][j]))
print(b)

留下评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据