答案 0 :(得分:1)
作为回复获得的是namedtuple的字典,因此要访问z元素,只需:
>>> from collections import namedtuple
>>>
>>> Point = namedtuple('Point', ['x','y','z'])
>>> Quaternion = namedtuple('Quaternion', ['x','y','z','w'])
>>>
>>>
>>> mycoords = {'position': Point(x=0.7938064310002948, y=0.4000015952566877, z=0.28522708748065545), 'orientation': Quaternion(x=-0.18674837754140436, y=0.7484662663927322, z=-0.5955181308876427, w=0.22423524999844527)}
>>>
>>>
>>> mycoords['position'].z
0.28522708748065545
>>>
>>>
>>> mycoords['orientation'].z
-0.5955181308876427
答案 1 :(得分:0)
假设Point
是具有namedtuple
属性的类(或z
或其他)(repr
可能是欺骗,但通常不是这样),可以按键查找,然后正常访问属性:
mydict['position'].z
答案 2 :(得分:0)
您的链接实际上并未转到任何功能(由于相框),但我猜测它是您所说的那个:
无论哪种方式,该函数都会返回一个包含两个不同namedtuple s的字典。您可以通过例如:
访问z坐标位置pose = limb.endpoint_pose()
z_coord = pose['position'].z
答案 3 :(得分:0)
结果看起来像带有对象的字典。看看datetime的外观:
>>> import datetime
>>> datetime.date.today()
datetime.date(2016, 6, 24)
在对象中访问变量 z 是一个简单的字典查找并访问该属性:
>>> result = {'position': Point(x=0.7938064310002948, y=0.4000015952566877, z=0.28522708748065545), 'orientation': Quaternion(x=-0.18674837754140436, y=0.7484662663927322, z=-0.5955181308876427, w=0.22423524999844527)}
>>> result['position'].z
0.28522708748065545
祝你好运!
编辑:@ iron-fist确实提供了有关字典中对象类型的详细信息。如果您想了解有关namedtuples的更多信息,请查看Iron Fist的评论here。