大家對(duì)json應(yīng)該很了解狡门,是一種格式轉(zhuǎn)換的方式舞竿,怎么在python中怎么使用zip將list轉(zhuǎn)換為json呢廓八?了解過(guò)嗎奉芦,這篇小猿圈帶你學(xué)習(xí)一下這個(gè)技能。
zip()函數(shù)將可迭代對(duì)象作為參數(shù)剧蹂,并打包成元組声功,返回的是一個(gè)個(gè)zip對(duì)象,可以使用list或dict轉(zhuǎn)換返回結(jié)果宠叼,使用*zip可以將打包的對(duì)象分解成列表先巴。
>>> 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)]
# 若參數(shù)列表的長(zhǎng)度不一樣,則以最短長(zhǎng)度為準(zhǔn)
>>> 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)
>>>
將二維列表轉(zhuǎn)成json
>>> 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縮進(jìn)量车吹,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
}
]
以上就是今天說(shuō)的知識(shí)點(diǎn)筹裕,單看學(xué)會(huì)也不難,但是一定在實(shí)際項(xiàng)目窄驹、實(shí)際應(yīng)用中一定要想到這個(gè)知識(shí)點(diǎn)朝卒,因?yàn)樗梢院芊奖愕霓D(zhuǎn)換為json格式、所以平時(shí)一定要多練乐埠,讓它成為自己的東西抗斤,也可以寫一下自己的博客,這樣再看的時(shí)候知道當(dāng)時(shí)是怎么學(xué)的丈咐,小猿圈還有更多實(shí)用的知識(shí)點(diǎn)瑞眼,直接百度搜索就可以看到很多,希望對(duì)你有所幫助棵逊。