我正在尝试遍历字典列表,并根据键和字典索引提取值。
我的目标是将第一个字典中的值赋给变量x1/y1,然后继续对变量(x2,y2)执行第二个字典中的相同操作,然后执行计算。一旦计算完成,我想对字典2/3执行相同的操作,依此类推,直到我计算完列表中的所有字典。
我被卡住了,因为我不能引用字典索引。目前,我的代码只将值存储在lon1/lat1中。
lst = [{'lat': 1, 'Time': 1, 'lon': 1},
{'lat': 2, 'Time': 2, 'lon': 2},
{'lat': 3, 'Time': 3, 'lon': 3}]
x1 = ()
x2 = ()
y1 = ()
y2 = ()
for k, v in [(k, v) for x in lst for (k, v) in x.items()]:
if k == 'lon'
x1 = v
elif k == 'lat':
y1 = v
elif k == 'lat':
x2 = v
elif k == 'lon':
y2 = v
编辑:删除了不必要的代码,并尝试更简洁地解释我的目标。我选择保留不必要的变量,因为我需要使用包含这些变量的固定公式进行计算。
发布于 2019-03-01 08:48:20
也许这会对你的组织有所帮助?print
语句只是为了说明您已经正确地提取了坐标。
lon_lat = []
for point in lst:
lon_lat.append( (lst["lon], lst["lat]) )
print (lon_lat[0])
print (lon_lat[1])
输出:
(1, 1)
(2, 2)
lon_lat
是保存每个位置的lon
和lat
的元组列表。您可以很容易地使用它们进行计算。
https://stackoverflow.com/questions/54936273
复制相似问题