map在python中是如何工作的?

map在python中是如何工作的?,python,python-3.x,list,Python,Python 3.x,List,我是Python编程新手。我遇到了一种使用map获取列表输入的方法 代码1: l = list(map(int, input().split())) print(l) 代码2: l = [map(int, input().split())] print(l) 他们两个看起来和我一模一样 但是当我接受输入时,1234,code>1给出了输出[1,2,3,4] 对于相同的输入,代码#2给出了输出[] 这两种方法的区别是什么?它们有何不同?非常感谢您的帮助。需要的是使用任何iterable(如生成

我是Python编程新手。我遇到了一种使用map获取列表输入的方法

代码1:

l = list(map(int, input().split()))
print(l)
代码2:

l = [map(int, input().split())]
print(l)
他们两个看起来和我一模一样

但是当我接受输入时,
1234
,code>1给出了输出
[1,2,3,4]
对于相同的输入,代码#2给出了输出
[]

这两种方法的区别是什么?它们有何不同?非常感谢您的帮助。

需要的是使用任何iterable(如生成器、元组、字符串、映射等)并鼓励给定对象创建列表。例如:

gen = (i**2 for i in range(10))  # -> <generator object <genexpr> at 0x7f5b7066e0f8>
list(gen)  # -> [0, 1, 4, 9]

tup = (1, 2, 3, 4)  # -> (1, 2, 3, 4)
list(tup)  # -> [1, 2, 3, 4]

str_ = '123'  # -> '123'
list(str_)  # -> ['1', '2', '3']

其中,
[…]
的周围实例仅创建包含您所传递内容的列表,因此:

gen = (i**2 for i in range(10))  # -> <generator object <genexpr> at 0x7f5b7066e0f8>
[gen]  # -> [<generator object <genexpr> at 0x7f5b7066e0f8>]

tup = (1, 2, 3, 4)  # -> (1, 2, 3, 4)
[tup]  # -> [(1, 2, 3, 4)]

str_ = '123'  # -> '123'
[str_]  # -> ['123']
函数的作用是:为iterable中的每个项执行指定的函数。该项作为参数发送到函数。 您必须指定要在每个项中执行的函数。 要显示最终结果,您可以使用“列表”以提高可读性 这是一个例子:

def myfunc(a, b):
   return a + b

x = map(myfunc, ('apple', 'banana', 'cherry'), ('orange', 'lemon', 'pineapple'))
print(x)
print(list(x)) #for readability 
在你的情况下,你可以这样做

def myfunc(a)
   return int(a)*2
x = map(myfunc,input().split())
print (list(x)) 
选中此链接:

列表(地图(…)
将地图对象转换为列表<代码>[map(…)]将地图对象存储在列表中“但当我接受输入时…”-请提供代码(使您的问题尽可能具体)
def myfunc(a, b):
   return a + b

x = map(myfunc, ('apple', 'banana', 'cherry'), ('orange', 'lemon', 'pineapple'))
print(x)
print(list(x)) #for readability 
def myfunc(a)
   return int(a)*2
x = map(myfunc,input().split())
print (list(x))