2 回答

TA貢獻1779條經驗 獲得超6個贊
嘗試這個:
import json
li=[]
with open('file1.json') as f:
li1 = json.load(f)
with open('file2.json') as f:
li2 = json.load(f)
for a in zip(li1,li2): # where l1 is first list, l2 is second list
dict={}
dict.update(a[0])
dict.update(a[1])
li.append(dict)
print(li)
# [{'name': 'value', 'description': 'value', 'url': 'value'}, {'name': 'value1', 'description': 'value1', 'url': 'value1'}]
或者
from collections import ChainMap
import json
with open('file1.json') as f:
li1 = json.load(f)
with open('file2.json') as f:
li2 = json.load(f)
li=[dict(ChainMap(*a)) for a in zip(li1,li2)]
print(li)
希望這可以幫助!

TA貢獻1856條經驗 獲得超17個贊
使用 jq,多虧了transpose,它是單行的:
jq -s 'transpose | map(add)' file1.json file2.json
[
{
"name": "value",
"description": "value",
"url": "value"
},
{
"name": "value1",
"description": "value1",
"url": "value1"
}
]
添加回答
舉報