如何在lis中访问词典

2024-03-28 23:05:24 发布

您现在位置:Python中文网/ 问答频道 /正文

如何同时访问“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']

Tags: 列表datatime差异points词典ms术语
3条回答

我想你想要这个:

abs(data_points[0]['x']-data_points[0]['y'])

使用operator.itemgetter

from operator import itemgetter

res = itemgetter('x', 'y')(data_points[0])

(399, 621)

不幸的是,您不能用这种语法一次访问多个字典键,但是您可以用列表理解轻松地做到这一点。例如,要从列表的第一个字典中获取xy,可以执行以下操作:

[data_points[0][i] for i in ['x', 'y']]

要获得:

[399, 621]

相关问题 更多 >