zip()函数将可迭代对象作为参数,并打包成元组,返回的是一个个zip对象,可以使用list或dict转换返回结果,使用*zip可以将打包的对象分解成列表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
>>> 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
>>> 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
}
]
|
以上这篇python使用zip将list转为json的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/jewely/article/details/82941216