我正在学习map()函数,一些教程网站使用map()和列表,如代码所示。他们运行代码,但没有错误,但是我尝试运行此代码,但出现错误。你能解释为什么吗?
list_a = [1,2,3]
list_b = ['one', 'two', 'three']
map_func = map(list_a, list_b)
map_func = list(map_func)
print(map_func)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-23-6ce25d7a149a> in <module>
2 list_b = ['one', 'two', 'three']
3 map_func = map(list_a, list_b)
----> 4 map_func = list(map_func)
5 print(map_func)
TypeError: 'list' object is not callable
答案 0 :(得分:0)
Python map()函数 map()函数在将给定函数应用于给定迭代器的每个项目后返回结果列表 (列表,元组等)
语法:
map(fun, iter)
返回将函数应用于所有可迭代项的迭代器, 产生结果。如果传递了其他可迭代的参数, 函数必须接受那么多参数,并应用于项目 来自所有可迭代对象的并行操作。 ...
示例:
# Return double of n
def addition(n):
return n + n
# We double all numbers using map()
numbers = (1, 2, 3, 4)
result = map(addition, numbers)
print(list(result))
输出:
[2, 4, 6, 8]
您对功能map()
的使用是错误的,您可能正在考虑zip()
功能
list_a = [1,2,3]
list_b = ['one', 'two', 'three']
map_func = zip(list_a, list_b)
map_func = list(map_func)
print(map_func)
输出:
[(1, 'one'), (2, 'two'), (3, 'three')]