如何";附加“;在python中创建个性化ROS数组消息
我为ROS包定义了以下两种消息结构: point.msg如何";附加“;在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,) 这
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)