在Python中将列表更改为json格式

时间:2014-04-19 15:56:34

标签: python json

我有一个这样的清单:

[[29.3066, 47.9155, 1, "I"], [29.3066, 47.9161, 3, "N"], [29.3309, 47.938, 100, "S"]]

我想用dict转换它:

[{"pk": 1, "fields": {"latitude": 29.3066, "longitude": 47.9155, "name": "I"}}, {"pk": 3, "fields": {"latitude": 29.3066, "longitude": 47.1961, "name": "N"}}..and so on]

如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

使用list comprehension

>>> lst = [[29.3066, 47.9155, 1, "I"], [29.3066, 47.9161, 3, "N"], [29.3309, 47.938, 100, "S"]]
>>> [{'pk': pk, 'fields': {'latitude': lat, 'longitude': lng, 'name': name}}
...  for lat, lng, pk, name in lst]
[{'pk': 1, 'fields': {'latitude': 29.3066, 'name': 'I', 'longitude': 47.9155}},
 {'pk': 3, 'fields': {'latitude': 29.3066, 'name': 'N', 'longitude': 47.9161}},
 {'pk': 100, 'fields': {'latitude': 29.3309, 'name': 'S', 'longitude': 47.938}}]