Python列表理解包括dict上的索引
我有一个列表的类型的字典
l = [
{
"k1": "v1",
},
{
"k2": "v2",
}
]
我想用每个条目的索引更新这个列表,就像这样
[
{
"index": 0,
"k1": "v1",
},
{
"index": 1,
"k2": "v2",
}
]
我如何使用列表理解来做到这一点?
回答
您可以将其设置i为计数器enumerate和j字典,您可以将其解压缩到新字典中。
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)]
- 在 Python 3.9 及更高版本中,您还可以使用 `&` 运算符来组合字典:`[{"index": i} & j for i, j in enumerate(l)]`。_这里_不是一个大胜利,但需要考虑的事情。