在Python中,* zip(list1,list2)返回什么类型的对象?

可能重复:
Python:一劳永逸。 Star运算符在Python中意味着什么?

x = [1, 2, 3]
y = [4, 5, 6]
zipped = zip(x, y)
list(zipped)

x2, y2 = zip(*zip(x, y))
x == list(x2) and y == list(y2)

*zip(x, y)返回什么类型的对象? 为什么

res = *zip(x, y)
print(res)

不起作用?


Python中的星号“运算符”不返回对象; 这是一个句法结构,意思是“用给出的列表作为参数来调用函数”。

所以:

x = [1,2,3]
F(* x)的

相当于:

f(1,2,3)

博客条目(不是我的):http://www.technovelty.org/code/python/asterisk.html


python中的*运算符通常称为散布(scatter),它将元组或列表分散到许多变量中非常有用,因此通常用于输入参数。 http://en.wikibooks.org/wiki/Think_Python/Tuples

双星**在字典上执行相同的操作,对命名参数非常有用!


*zip(x, y)不返回一个类型, *用于将参数解压缩到一个函数中,在你的情况下再次zip

x = [1, 2, 3]y = [4, 5, 6]zip(x, y)[(1, 4), (2, 5), (3, 6)]

这意味着zip(*zip(x, y))zip((1, 4), (2, 5), (3, 6)) ,并且结果变为[(1, 2, 3), (4, 5, 6)]

链接地址: http://www.djcxy.com/p/53637.html

上一篇: In Python what type of object does *zip(list1, list2) return?

下一篇: Difference between zip(list) and zip(*list)