Python 为什么将映射函数的结果指定给一个变量与将其指定给多个变量不同?
在这里,我将两个字符串Python 为什么将映射函数的结果指定给一个变量与将其指定给多个变量不同?,python,variable-assignment,map-function,variable-expansion,Python,Variable Assignment,Map Function,Variable Expansion,在这里,我将两个字符串“12”和“123 54 856 78”输入到同一个函数中,但其中一个将转换为int,而另一个则不会: str="12" a=map(int,str.split()) print(type(a)) #o/p :<class 'map'> print (a) #o/p :<map object at 0x7f432e95a630> str1="123 54 856 78 " a1,b1,c1,d1=map(int,str1.split()) pri
“12”
和“123 54 856 78”
输入到同一个函数中,但其中一个将转换为int
,而另一个则不会:
str="12"
a=map(int,str.split())
print(type(a)) #o/p :<class 'map'>
print (a) #o/p :<map object at 0x7f432e95a630>
str1="123 54 856 78 "
a1,b1,c1,d1=map(int,str1.split())
print(type(a1)) #o/p :<class 'int'>
print (a1) #o/p :123
str=“12”
a=map(int,str.split())
打印(类型(a))#o/p:
打印(a)#o/p:
str1=“123 54 856 78”
a1,b1,c1,d1=map(int,str1.split())
打印(类型(a1))#o/p:
打印(a1)#o/p:123
在第一次调用map(a=map(int,str.split())
)时,您将a设置为map对象。在第二次调用map(a1、b1、c1、d1=map(int、str1.split())
)时,您将map函数的值设置为map函数生成的不同值。如果你有
a1 = map(int(str1.split())
print(type(a1)) # <class 'map'>
a1=map(int(str1.split())
印刷品(a1类)
在第一次调用map(a=map(int,str.split())
)时,您正在将a设置为map对象。在第二次调用map(a1,b1,c1,d1=map(int,str1.split())
)时,您正在将map函数的值设置为map函数生成的不同值
a1 = map(int(str1.split())
print(type(a1)) # <class 'map'>
a1=map(int(str1.split())
印刷品(a1类)
地图功能:
函数用于在所有元素上应用函数
指定的iterable和返回映射对象的属性。Python映射对象是
迭代器,所以我们可以迭代它的元素。我们也可以转换映射
对象使用其属性对对象(如列表、元组等)进行排序
工厂功能
我们可以将多个iterable参数传递给map()函数
在这种情况下,指定的函数必须有那么多参数
函数将并行地应用于这些iterable元素
多个iterable参数,当
最短的iterable已耗尽
资料来源:
这意味着,默认情况下,map函数返回一个map。但是,当指定多个变量作为一个变量时,它会尝试将map中的项目映射到指定的变量。因此,仅使用字符串中的一个变量和一个值是不可行的
这就是map函数的工作原理。map函数:
函数用于在所有元素上应用函数
指定的iterable和返回映射对象的属性。Python映射对象是
迭代器,所以我们可以迭代它的元素。我们也可以转换映射
对象使用其属性对对象(如列表、元组等)进行排序
工厂功能
我们可以将多个iterable参数传递给map()函数
在这种情况下,指定的函数必须有那么多参数
函数将并行地应用于这些iterable元素
多个iterable参数,当
最短的iterable已耗尽
资料来源:
这意味着,默认情况下,map函数返回一个map。但是,当指定多个变量作为一个变量时,它会尝试将map中的项目映射到指定的变量。因此,仅使用字符串中的一个变量和一个值是不可行的
这就是map函数的工作原理