【发布时间】:2020-08-28 04:57:37
【问题描述】:
我有一个像这样的巨大字典列表,其中包含近 100 个条目。
[{ "color":-65536,
"touch_size":0.21960786,
"touch_x":831.25,
"touch_y":1597.2656
},
{ "color":-65536,
"touch_size":0.20392159,
"touch_x":1302.5,
"touch_y":1496.0938
}, .... {}]
我想在每个字典的特定位置插入 2 个具有值的新键。
new_keys = ['touch_x_dp','touch_y_dp']
touch_x_dp需要放在键touch_x之后,touch_y_dp需要放在touch_y之后
这些值需要用 None 初始化。
我已经尝试过了,但这并没有把它们放在我需要的地方。
for key in dp_keys:data['attempts'][i]["items"][j][key]=None
【问题讨论】:
-
你能解释一下为什么你需要这个特定的顺序
-
字典在 Python 3.7 之前是无序的,并且在较新版本中按插入顺序排序,因此您可能必须根据您的版本使用
OrderedDict,并且在任何一种情况下都需要重建字典。 -
@Rahul 我需要使用 xlsx 编写器将这些键的值打印到 excel 中。
-
对于您明显的用例,named tuples 可能比字典更可取。
标签: python list dictionary ordereddict