热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python将列表转换为具有键值的Dictionary

如何解决《Python将列表转换为具有键值的Dictionary》经验,为你挑选了1个好方法。

我从SOLR通过PySolr获得json响应,一切正常,只是Facet字段的格式不一致,下面是facet字段

LocalityId = [ "14008",1,"14293",4,]

现在我需要将上面的列表转换为键值对(Dictionary)

LocalityId = {"14008":"1", "14293":"4"}

如何用python实现这一目标?

编辑:是的我知道它不是标准列表格式,但我没有创建它,责备solr

编辑:为什么-1,stackoverflow已成为复仇和随机爆发的地方!告诉我这里的民间我哪里错了?



1> bvidal..:

使用slicingzip你可以创建一个像这样的dict假设您的列表被调用l:

dict(zip(l[::2], l[1::2]))

l[::2]将从索引0开始获取列表的每个第二个元素,以相同的方式l[1::2]从索引1开始获取每个第二个元素.

l = ["14008", 1, "14293", 4]
l[::2] # ['14008', '14293']
l[1::2] # [1, 4]

然后将这两个列表zip组合在一起以创建字典.

编辑正如评论中所建议的那样,键也应该是字符串,所以我们可以map用来转换它们.代码将变为:

dict(zip(l[::2], map(str, l[1::2])))


可能会在第二部分添加一个`map(str,....)`以与所需结果完全匹配.
推荐阅读
author-avatar
mobiledu2502878025
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有