python - 将[dict]中的所有键转换为python中的dict
问题描述
将字典列表中的所有键转换为字典的任何优雅方法?像这样:
aa = [
{"option": "-c","params":4},
{"option": "-t", "params": 8},
{"option": "name", "params": "bb"}
]
bb = convert_function(aa)
print(bb) # will like the following
{
"-c": 4,
"-t": 8,
"name": "bb"
}
列表中 dict 中的所有键将始终(且仅)具有键:“option”和“params”
我现在的解决方案是:
aa = [
{"option": "-c","params":4},
{"option": "-t", "params": 8},
{"option": "name", "params": "bb"}
]
bb = dict()
for item in aa:
bb[item['option']] = item['params']
解决方案
由于字典遵循一种格式,您可以简单地:
dict(x.values() for x in aa)
没有内置函数可以帮助您解决此问题。因此,您可以编写一个自定义函数,如下例所示:
def convert_function(aa):
return dict(x.values() for x in aa)
aa = [
{"option": "-c","params":4},
{"option": "-t", "params": 8},
{"option": "name", "params": "bb"}
]
bb = convert_function(aa)
# {'-c': 4, '-t': 8, 'name': 'bb'}
推荐阅读
- java - Three.js fbx 未正确加载
- visual-studio - Visual Studio 项目文件添加不需要的依赖项并创建一个圆圈
- docusignapi - 使用 php 的 DocuSign 网络挂钩响应中的问题
- jquery - 用缩略图源替换特色图像的源?
- c++ - 通过 OLE 自动化从 VB6 调用时正确使用 ATL CComSafeArray?
- asp.net - 用 1 - x 的数字动态填充 @Html.DropDownList
- python - 如何解决绘图变量尺寸不匹配的错误?
- excel - 如何使用 VBA 将两个定义日期之间的数据复制到新工作表?
- apache-kafka - 在 kafka 流记录转发期间,接收器的分区计数减少
- c++ - 在 c++ 中使用 SetWinMetaFileBits api 将 wmf 文件转换为 emf 文件