DAY4-step7 Python 示例说明map()函数

DAY4-step7 Python 示例说明map()函数Python map()对迭代器的所有元素上应用指定的函数。 迭代器可以是列表,元组,集合,字典,字符串,它返回可迭代的对象。 Python m

欢迎大家来到IT世界,在知识的湖畔探索吧!

Python map()对迭代器的所有元素上应用指定的函数。 迭代器可以是列表,元组,集合,字典,字符串,它返回可迭代的对象。 Python map()是一个内置函数。

语法

map(function, iterator1,iterator2 ...iteratorN)

欢迎大家来到IT世界,在知识的湖畔探索吧!

参数

function:要提供给map的函数,它将应用于迭代器中所有元素。

iterator:一个可迭代的对象。 它可以是列表,元组等。您可以将多个迭代器对象传递给map()函数。

返回值

map()函数将指定函数应用于迭代器内的所有元素,并返回可迭代的对象,即元组,列表等。

map()函数如何工作?

map()的函数将对可迭代对象中存在的所有元素进行迭代。

例如,假设您有一个数字列表,并且想要找到每个数字的平方。

欢迎大家来到IT世界,在知识的湖畔探索吧!def square(n):
	return n*n	

我们要得到平方数的列表如下:

my_list = [2,3,4,5,6,7,8,9]

现在,让我们使用map()python内置函数来获取my_list中每个元素的平方。

最终代码如下:

欢迎大家来到IT世界,在知识的湖畔探索吧!def square(n):
    	return n*n
my_list = [2,3,4,5,6,7,8,9]
updated_list = map(square, my_list)
print(updated_list)
print(list(updated_list))

Output:

<map object at 0x0000002C59601748>
[4, 9, 16, 25, 36, 49, 64, 81]
  • map()函数的输出显示为<map object at 0x0000002C59601748>的map对象。
  • 您将必须使用for循环或使用list()方法对map的输出进行迭代,以获取最终输出。
  • 因此,使用map()函数,我们可以获得每个数字的平方。给map的列表是[2,3,4,5,6,7,8,9],然后使用square()函数输出 从map()得到的是[4,9,16,25,36,49,64,81]。
  • 函数map()将函数square()应用于列表中的所有元素。

将map()与Python内置函数一起使用

Python map()函数是一个内置函数,也可以与Python中可用的其他内置函数一起使用。 在该示例中,我们将使用Python round()内置函数来舍入给定的值。

例:

列表是my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907]。

我需要列表中存在的每个元素的舍入值。 我们将使用round()作为map()的函数。

my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907]
updated_list = map(round, my_list)
print(updated_list)
print(list(updated_list))

Output:

<map object at 0x000000E65F901748>
[3, 4, 4, 6, 6, 8, 8, 10]

round()函数应用于列表中的所有元素,它返回一个列表,其中所有值均按输出中所示取整。

使用map()和字符串作为迭代器

我们还可以在字符串上使用map()。 在Python中,字符串的作用类似于数组,因此我们可以轻松地在map()中使用它。

在示例中,我们有一个函数myMapFunc(),负责将给定的字符串转换为大写。 将函数myMapFunc()提供给map()函数。map函数将通过将字符串传递给myMapFunc()来转换给定的大写字符串。

def myMapFunc(s):
    return s.upper()
my_str = "welcome to guru99 tutorials!"
updated_list = map(myMapFunc, my_str)
print(updated_list)
for i in updated_list:
    print(i, end="")

Output:

<map object at 0x000000DF2E711748>
WELCOME TO GURU99 TUTORIALS!

将map()与数字列表一起使用

要使用map()将列表中的每个数字乘以10。

我们将要使用的列表是:[2,3,4,5,6,7,8,9]。 函数myMapFunc()负责将指定的数字乘以10。该函数与列表一起用于map。

示例:

def myMapFunc(n):
    return n*10

my_list = [2,3,4,5,6,7,8,9]

updated_list = map(myMapFunc, my_list)
print(updated_list)
print(list(updated_list))

输出:

<map object at 0x000000EE2C061898>
[20, 30, 40, 50, 60, 70, 80, 90]

在元组中使用map()

元组是Python中的一个对象,具有以逗号分隔并括在圆括号中的元素。 在示例中,我们将使用带有字符串值的元组。 我们将使用的函数会将给定的值转换为大写。

示例:

def myMapFunc(n):
    return n.upper()

my_tuple = ('php','java','python','c++','c')

updated_list = map(myMapFunc, my_tuple)
print(updated_list)
print(list(updated_list))

输出:

<map object at 0x0000009C3C3A16A0>
['PHP', 'JAVA', 'PYTHON', 'C++', 'C']

在字典中使用map()

使用大括号{}创建Python中的字典。 由于字典是迭代器,因此您可以在map()函数中使用它。

以下示例显示map()中字典迭代器的工作方式

def myMapFunc(n):
    return n*10
my_dict = {2,3,4,5,6,7,8,9}
finalitems = map(myMapFunc, my_dict)
print(finalitems)
print(list(finalitems))

输出:

<map object at 0x0000007EB451DEF0>
[20, 30, 40, 50, 60, 70, 80, 90]

将map()与Lambda函数一起使用

在Python中,lambda表达式用于构造匿名函数。 您将必须使用lambda关键字,就像使用def定义常规函数一样。

因此,在示例中,我们将在map()中使用lambda函数。 lambda函数会将列表中的每个值乘以10。

示例:

my_list = [2,3,4,5,6,7,8,9]
updated_list = map(lambda x: x * 10, my_list)
print(updated_list)
print(list(updated_list))

输出:

<map object at 0x000000BD18B11898>
[20, 30, 40, 50, 60, 70, 80, 90]

在map()函数内部使用多个迭代器。

示例1:将两个列表迭代器传递给map()

您可以将多个迭代器(即列表,元组等)同时发送到map()函数。

例如,如果要添加两个列表。 使用map()函数可以完成相同的操作。 我们将使用两个列表my_list1和my_list2。

在下面的示例中,将my_list1中的第一项添加到my_list2的第一项中。 函数myMapFunc()接受my_list1和my_list2的项并返回两者之和。

这是使用map()函数添加两个给定列表的工作示例。

def myMapFunc(list1, list2):
    return list1+list2

my_list1 = [2,3,4,5,6,7,8,9]
my_list2 = [4,8,12,16,20,24,28]

updated_list = map(myMapFunc, my_list1,my_list2)
print(updated_list)
print(list(updated_list))

输出:

<map object at 0x0000004D5F751860>
[6, 11, 16, 21, 26, 31, 36]

示例2:将一个元组和一个列表迭代器传递给map()

我们将在map()函数中使用列表和元组迭代器。 该函数是myMapFunc()将从列表和元组中获取元素, 这些项目将带有下划线(_)。

def myMapFunc(list1, tuple1):
    return list1+"_"+tuple1

my_list = ['a','b', 'b', 'd', 'e']
my_tuple = ('PHP','Java','Python','C++','C')

updated_list = map(myMapFunc, my_list,my_tuple)
print(updated_list)
print(list(updated_list))

输出:

<map object at 0x00000059F37BB4E0>
['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']

摘要

  • Python map()是一个内置函数,它将函数应用于作为输入提供的迭代器的所有元素。例如,迭代器可以是列表,元组,字符串等,并且它返回可迭代的map对象。
  • map()函数将给定函数应用于迭代器内的所有元素,并返回可迭代的map对象,即元组,列表等。
  • Python map()函数是一个内置函数,也可以与Python中可用的其他内置函数一起使用。
  • 元组是Python中的一个对象,具有以逗号分隔并括在圆括号中的元素。
  • 使用大括号{}创建Python中的字典。由于字典是迭代器,因此您可以在map()函数中使用它。
  • 在Python中,lambda表达式(或lambda形式)用于构造匿名函数。因此,当您想在map()中使用lambda时,必须使用lambda关键字。
  • 您可以向map()函数发送多个迭代器,即列表,元组。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/48673.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信