python开发:使用zip将list转为json的方法

2019-01-0110:57:38后端程序开发Comments1,841 views字数 735阅读模式

zip()函数将可迭代对象作为参数,并打包成元组,返回的是一个个zip对象,可以使用list或dict转换返回结果,使用*zip可以将打包的对象分解成列表文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9163.html

>>> l=[1,2,3,4]
>>> keys=['a','b','c','d']
>>> zip(keys,l)
<zip object at 0x000001E0AFA327C8>
>>> dict(zip(keys,l))
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
>>> list(zip(keys,l))
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

# 若参数列表的长度不一样,则以最短长度为准
>>> m=[1,2,3]
>>> list(zip(keys,m))
[('a', 1), ('b', 2), ('c', 3)]

# 分解zip
>>> a1,a2=zip(*zip(keys,l))
>>> a1
('a', 'b', 'c', 'd')
>>> a2
(1, 2, 3, 4)
>>> 

将二维列表转成json文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9163.html

>>> import json
>>> l=[[1,2,3,4],[5,6,7,8],[9,10,11,12]]
>>> keys=['a','b','c','d']
>>> list_json=[dict(zip(keys,item)) for item in l]
# indent缩进量,ensure_ascii=False支持中文
>>> str_json=json.dumps(list_json,indent=2, ensure_ascii=False)
>>> print(str_json)
[
 {
 "a": 1,
 "b": 2,
 "c": 3,
 "d": 4
 },
 {
 "a": 5,
 "b": 6,
 "c": 7,
 "d": 8
 },
 {
 "a": 9,
 "b": 10,
 "c": 11,
 "d": 12
 }
]
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9163.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/9163.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定