如何";附加“;在python中创建个性化ROS数组消息

如何";附加“;在python中创建个性化ROS数组消息,python,python-2.7,python-3.x,robot,ros,Python,Python 2.7,Python 3.x,Robot,Ros,我为ROS包定义了以下两种消息结构: point.msg float64 x float64 y points.msg point[] points 我正在Python中实例化并填充一个points数组,如下所示: point_list = points() pt = point() for element in self.points: pt.x = element[0,0] pt.y = element[1,0] point_list += (pt,) 这

我为ROS包定义了以下两种消息结构:

point.msg

float64 x
float64 y
points.msg

point[] points
我正在Python中实例化并填充一个points数组,如下所示:

point_list = points()
pt = point()
for element in self.points:
     pt.x = element[0,0]
     pt.y = element[1,0]
     point_list += (pt,)
这就是我得到的错误:

不支持+=:“点”和“元组”的操作数类型
PS:尝试了
。追加了
,但仍然不起作用

试试这个

point_list = []
pt = point()
for element in self.points:
     pt.x = element[0,0]
     pt.y = element[1,0]
     point_list += (pt,)

在告诉编译器point类是一个list对象之前,除非调用point方法,否则这是不可能的。通过将其设置为通用列表(
[]
),它可以采用任何类型。这是python之美的一部分,您不必总是指定对象类型。

消息
points
不是直接的
point
消息列表,而是一个结构,它有一个名为
points
的成员,这是一个列表

要将元素添加到此列表,您必须访问成员,而不是包含结构:

point_list.points.append(pt)