python - 在单行列表理解中操作字典列表

标签 python list dictionary list-comprehension

我有如下列表:

l = [{'Value': 'value1', 'Key': 'key1'}, {'Value': 'value2', 'Key': 'key2'}, {'Value': 'value3', 'Key': 'key3'}]

我想要一个输出列表如下:

lst = [{'key1': 'value1'}, {'key2': 'value2'}, {'key3': 'value3'}]

我的代码如下:

lst = []
for item in l:
    key = item["Key"]
    value = item["Value"]
    dict = {}
    dict[key] = value
    lst.append(dict)

是否可以通过列表理解在一行中执行相同的操作?

最佳答案

l = [{'Value': 'value1', 'Key': 'key1'}, {'Value': 'value2', 'Key': 'key2'}, {'Value': 'value3', 'Key': 'key3'}]

>>> [{item['Key']: item['Value']} for item in l]
[{'key1': 'value1'}, {'key2': 'value2'}, {'key3': 'value3'}]

关于python - 在单行列表理解中操作字典列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48189750/

相关文章:

dictionary - 如何将 map 转换为条目 slice ?

python - 从 Python 列表中检索字典值

python - 部署 python 应用程序以通过 venv 使用特定版本的 Python 的最佳实践

python - 在 bluemix 上运行我的应用程序时出现错误 Can't open lib 'SQL Server'

python - 如何每天自动创建数千个任务

list - 迭代 OCaml 中的嵌套列表数据类型

java - 如何以 Java 8 方式将具有属性的列表转换为另一个列表?

Python,改变 3D 图的轴

C# 列表问题(Android/Monodroid ListView 搜索)

c# - 在 C# 中转换泛型字典