я пытаюсь найти множество пересечения двух списков позиций, в ROSне может использовать питон пересечение набора со списком точек ROS
так я пишу код в Python, и у меня есть два списка, например:
position1 = Point()
position1.x =1
position2 = Point()
position2.x=2
a = [copy.deepcopy(position1),copy.deepcopy(position2)]
b = [copy.deepcopy(position1)]
тогда, когда я пытаюсь получить пересечение этих двух списка а и б
это вернуть мне ответ: набор ([])
, что смешно,
обычно я должен иметь ответ, как: набор (а) .intersection (множество (б)) = множество ([Должность1])
если кто-то может помочь мне решить эту проблему?
это здорово благодарен за просмотр этой проблемы
и я ценю для наблюдения и ответа.
благодарит заранее.
вот мой тестирование кода
import rospy,copy
from geometry_msgs.msg import Point
class test():
def __init__(self):
position1 = Point()
position1.x =1
position2 = Point()
position2.x=2
a = [copy.deepcopy(position1),copy.deepcopy(position2)]
b = [copy.deepcopy(position1)]
print set(a).intersection(set(b))
print 'a', set(a),'\n'
print 'b', set(b)
if __name__=='__main__':
try:
rospy.loginfo ("initialization system")
test()
rospy.loginfo ("process done and quit")
except rospy.ROSInterruptException:
rospy.loginfo("robot twist node terminated.")
КСТАТИ типа РОС точка размещена здесь: http://docs.ros.org/jade/api/geometry_msgs/html/msg/Point.html
Он не видит, как он может вернуть 'set ([])', показать весь код. – polku
спасибо за ответ, я пишу код тестирования и присоединяю его в конце своего вопроса – HOWE
'set' полагаться на 'hash' и' == 'работать ... is hash (position1)' то же, что ' hash (position2) 'и выполняет ли' position1 == position2' значение 'True'? –