我如何同时访问“ x”和“ y”以计算具有以下内容的词典列表中连续词之间的差异。
data_points = [{ "y": 621, "x": 399, "time ns": 107353592,
"time ms": 1529423113, "cameraID": 0 },
{ "y": 621, "x": 399, "time ns": 111057583,
"time ms": 1529423113, "cameraID": 0 },
{ "y": 621, "x": 399, "time ns": 114741998,
"time ms": 1529423113, "cameraID": 0 },
{ "y": 621, "x": 399, "time ns": 118388882,
"time ms": 1529423113, "cameraID": 0 }
]
我尝试了这个但没有用
data_points[0]['x']['y']
答案 0 :(得分:2)
不幸的是,您不能使用这种语法同时访问多个字典键,但是可以通过列表理解轻松地进行操作。例如,要从列表的第一个字典中获取x
和y
,可以执行以下操作:
[data_points[0][i] for i in ['x', 'y']]
获得:
[399, 621]
答案 1 :(得分:1)
我想你想要这个:
abs(data_points[0]['x']-data_points[0]['y'])
答案 2 :(得分:1)
使用operator.itemgetter
:
from operator import itemgetter
res = itemgetter('x', 'y')(data_points[0])
(399, 621)
答案 3 :(得分:0)
yourVariable = data_points[0]["x"]
anotherVariable = data_points[0]["y"]
newList = "{str(yourVariable)} {str(anotherVariable)}".split(" ")
accessX = newList[0]
accessY = newList[1]
如果您想同时比较两者:
if accessX and accessY == "something like this":
#then do whatever you want
现在您可以同时访问两个字符串,然后只需使用split()
方法并输入所需的任何单词即可。