编程中的映射包括将一个转换函数应用于一个迭代器,以创建一个新的迭代器。然后,新的迭代器中的元素是通过对原迭代器中的一个元素调用转换函数来构建的。
映射是函数式编程的一部分,计算是通过组合函数来完成的,这些函数接受参数并返回一个具体的值(或多个值)作为结果。在这个例子中,我们将看到 Python 中的 map() 函数,以及如何映射一个元素的列表。
Python map
Python map()是一个内置的方法,用于将一个函数应用于详细的可迭代的所有元素,并返回 map 对象。迭代器包括一个列表、元组、集合和字典 。
map()函数的返回值是一个map对象,如果我们想从中创建一个列表,那么使用list()函数;如果你要创建一个元组,那么使用tuple()函数,对于set和dictionary也是如此。
Python 映射列表
要在 Python 中映射 list 元素,使用 map() 函数。map() 方法对列表中的每个元素应用一个函数,并返回一个可迭代的 map 对象,然后我们可以对其调用next()方法来遍历列表。
data = [19, 21, 46, 29, 11]
def square_of_numbers(num):
return num * num
mappedList = map(square_of_numbers, data)
print(next(mappedList))
print(next(mappedList))
print(next(mappedList))
输出
361
441
2116
我们可以看到,我们定义了一个叫做square_of_numbers() 的 函数**,** 它返回数字的平方。我们把这个函数传递给map()函数,它返回map对象。
要访问map对象的每个元素,请使用next()方法。例如,我们可以使用list()方法创建一个地图对象的列表。
data = [19, 21, 46, 29, 11]
def square_of_numbers(num):
return num * num
mappedList = map(square_of_numbers, data)
print(list(mappedList))
输出
[361, 441, 2116, 841, 121]
带有lambda函数的Python地图列表
要用Python list使用map()和lambda函数,在map()函数中传递lambda函数,它将返回map对象。Python 匿名函数或lambda 函数 是指没有定义名称的函数。
data = [19, 21, 46, 29, 11]
mappedList = map(lambda num: num * num, data)
print(list(mappedList))
输出
[361, 441, 2116, 841, 121]
在这个例子中我们不需要定义函数,因为 lambda 会完成这个工作。
字符串列表的标准化
我们可以使用**list()和map()**方法对字符串列表进行量化。
data = ['grogu', 'dinjarin', 'ahsokatano']
mappedList = list(map(list, data))
print(list(mappedList))
输出
[['g', 'r', 'o', 'g', 'u'], ['d', 'i', 'n', 'd', ' ', 'j', 'a', 'r', 'i', 'n'],
['a', 'h', 's', 'o', 'k', 'a', ' ', 't', 'a', 'n', 'o']]
结论
Python 中的 map() 函数返回 map 对象,你可以将该对象转换为 list、tuple、dictionary 或 set。例如,你可以在map()函数中使用lambda函数或正则函数。
The postPython map list:如何在Python中映射列表元素,首先出现在AppDividend上。