Python中map()函数的基本用法与示例:如何高效处理列表数据

python中map的基本使用示例

Python中map()函数的基本用法与示例:如何高效处理列表数据

地图()函数

map() 将根据提供的函数映射指定的序列。它是一个内置函数。

第一个参数函数使用参数序列中的每个元素调用函数 function,并返回一个包含每个函数 function 的返回值的新列表。

语法

map(function, iterable, ...)

map() 是Python 的内置高阶函数。它接收一个函数 f 和一个列表,并通过依次将函数 f 应用于列表的每个元素,获得一个新列表并将其返回。

1. 当只有一个 seq 时,将函数 func 应用于该 seq 的每个元素并得到一个新的 seq。

例如,对于列表 [1, 2, 3, 4, 5, 6, 7, 8, 9]

如果你想对列表中的每个元素进行平方,可以使用map()函数:

因此,我们只需要传入函数f(x)=x*x,就可以使用map()函数来完成这个计算:

def f(x):
 return x*x
print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])

输出结果:

[1、4、9、10、25、36、49、64、81]

注意:map()函数不会改变原来的列表,而是返回一个新的列表。

使用map()函数,您可以通过传入转换函数将一个列表转换为另一个列表。

由于列表中包含的元素可以是任何类型,因此map()不仅可以处理仅包含数值的列表,实际上它可以处理包含任何类型的列表,只要传入的函数f可以处理这种数据类型即可。

假设用户输入的英文姓名不规范,不遵循首字母大写、后续字母小写的规则。请使用map()函数将一个列表(包含几个非标准英文名称)转换为包含标准化英文名称的列表:

输入:['adam', 'LISA', 'barT']

输出:['亚当','丽莎','巴特']

def format_name(s):
 s1=s[0:1].upper()+s[1:].lower();
 return s1;
print map(format_name, ['adam', 'LISA', 'barT'])

2、当seq多个时,map可以对每个seq并行执行下图所示的流程(注意是并行):

l2=map(lambda x,y:x**y,[1,2,3],[1,2,3])
for i in l2:
 print(i)
l3=map(lambda x,y:(x**y,x+y),[1,2,3],[1,2,3])
for i in l3:
 print(i)
python3中可以处理类表长度不一致的情况,但无法处理类型不一致的情况,
l4=map(lambda x,y:(x**y,x+y),[1,2,3],[1,2])
for i in l4:
 print(i)
l4=map(lambda x,y:(x**y,x+y),[1,2,3],[1,2,'a'])
for i in l4:
 print(i)

特殊用法,类型转换:

l=map(int,'1234')
for i in l:
 print(type(i))
 print(i)

如果该函数为 None,则会自动假定一个“identity”函数,即模仿 zip() 函数。

l=[1,2,3]
x=map(None,l)
print(x)

此时,None类型不是可调用对象。所以他无法返回值。

目的是将多个列表中同一位置的元素合并成一个元组。喜欢:

>>> print map(None, [2,4,6],[3,2,1])
[(2, 3), (4, 2), (6, 1)]

但是在python3中,返回的是一个迭代器,所以它实际上是不可调用的

总结

以上就是本文的全部内容。希望本文的内容对大家的学习或者工作有一定的参考和学习价值。如果您有任何疑问,可以留言沟通。感谢您对程序员之家的支持。

你可能想看:
« 上一篇
下一篇 »

相关推荐

python爬虫教程PDF,Python爬虫书PDF

2026年09月02日

31阅读

外国教程python,python编程教学视频

2026年09月02日

25阅读

python简明教程沈洁元,python详细基础教程

2026年09月02日

21阅读

python库包教程,python 包

2026年09月02日

26阅读

python教程大全集,python教程600集

2026年09月02日

26阅读

python入门教程完整版,python零基础入门全套教程视频

2026年09月02日

22阅读