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

9 浏览
0 Comments

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

这个问题已经有了答案:

可能是重复的问题:

Python: 一劳永逸。*操作符在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)

admin 更改状态以发布 2023年5月22日
0
0 Comments

*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)]

0
0 Comments

在Python中,星号“运算符”不会返回一个对象,而是一个语法构造,意思是“使用给定的列表作为参数调用函数”。

所以:

x = [1, 2, 3]
f(*x)

等同于:

f(1, 2, 3)

这篇博客(非我所写)详细介绍了这个问题:http://www.technovelty.org/code/python/asterisk.html

0