首页 > 解决方案 > Python列表理解包括dict上的索引

问题描述

我有一个字典列表

l = [
  {
     "k1": "v1",
  },
  {
     "k2": "v2",
  }
]

我想用每个条目的索引更新这个列表,像这样

[
  {
     "index": 0,
     "k1": "v1",
  },
  {
     "index": 1,
     "k2": "v2",
  }
]

如何使用列表理解来做到这一点?

标签: python

解决方案


您可以设置i为计数器enumeratej字典,您可以在新字典中解压缩。

l2 = [{'index' : i, **j} for i,j in enumerate(l)]
print(l2)

或者作为@Martijn Pieters,python 3.9 解决方案:

[{"index": i} & j for i, j in enumerate(l)]

推荐阅读