Python循环中的星号符号

11 浏览
0 Comments

Python循环中的星号符号

这个问题已有答案:

在函数调用中,两个星号(双星号)和一个星号(单星号)是什么意思?

我正在使用CPython,我在一个示例文件中看到了一个星号符号。你可以解释一下在这种情况下*符号的意思吗?这里的pointsets是来自pybind11numpy数组,因为它是C++代码的输出。

Point(* point)与C++中的指针有关吗?

polylines = []
for points in pointsets:
    points = [Point(*point) for point in points]
    polyline = Polyline(points)
    polylines.append(polyline)

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

这被称为解包操作符。

以下是文档中的说明:

星号*表示可迭代解包。它的操作数必须是一个可迭代对象。可迭代对象会被展开为一个包含在解包位置的新元组、列表或集合中的项序列。

它很像Javascript ES6中的"..."操作符。(展开操作符

https://docs.python.org/3/reference/expressions.html#expression-lists

0