>>> lst = [[-2, -1], [0, 1, 2]]
>>> lst
[[-2, -1], [0, 1, 2]]
>>> print (*lst)
[-2, -1] [0, 1, 2]
>>> print (type(lst))
<class 'list'>
因此lst
的类型是list
在函数调用的上下文中-我不确定为什么它仍然不是列表。语句print (type(lst))
打印:<class 'tuple'>.
在函数中,为什么lst
不是list
?
def mymap(func, *lst):
res = []
print (func)
print (*lst)
print (type(lst))
print (list(zip(*lst)))
for args in list((zip(*lst))):
res.append(func(*args))
#return (res)
return (res)
ts = mymap(pow, [-2, -1], [0, 1, 2])
print (ts)
答案 0 :(得分:1)
在第一个示例中,您是this,然后将其赋予函数(在本例中为print
)。
>>> numbers = [1, 2, 3]
>>> print(*numbers)
1 2 3
与
完全相同>>> print(numbers[0], numbers[1], numbers[2])
1 2 3
在第二个示例中,您使用的是unpacking a sequence into several parameters,其中几个参数打包到一个元组中。
两个不同的事物,两个不同的结果。没有矛盾。