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