map在python中是如何工作的?
我是Python编程新手。我遇到了一种使用map获取列表输入的方法 代码1: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(如生成
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))