簡體   English   中英

在 python 中組合 json 字符串時出現語法錯誤

[英]syntax error occured in combining json string in python

我必須創建一個帶有組合子字符串的 json 字符串。 我編碼如下

import json

s1 = {'name':'s1','age':15}
s2 = {'name':'s2','age':10}
s3 = {'name':'s3','age':12}
s = {'class':1}

master = {s,'students':[s1,s2,s3]}
print(master)

我在行中有語法錯誤

master = {s,'students':[s1,s2,s3]}

我喜歡如下出去

{'class':1,'students':[{'name':'s1','age':15},{'name':'s2','age':10},{'name':'s3','age':12}]}

請幫忙。 我是 python 的新手

嘗試:

master = {**s,'students':[s1,s2,s3]}

這會將s擴展為其鍵和值,以便它們直接成為master的一部分。 否則,您必須使用: between 直接指定鍵和值。

請注意,這只適用於 Python 3。

試試這個,它在 Python2 中工作:

import json

s1 = {'name':'s1','age':15}
s2 = {'name':'s2','age':10}
s3 = {'name':'s3','age':12}
s = {'class':1}
students = {'students':[s1,s2,s3]}

master = dict(s.items() + students.items())
print(master)

這將適用於 python2 和 python3

master = dict(list(s.items()) + list(students.items()))

實現這一目標的另一種方法

s1 = {'name':'s1','age':15}
s2 = {'name':'s2','age':10}
s3 = {'name':'s3','age':12}
s = {'class':1}

master = {}
master.update(s)
master.update({'students':[s1,s2,s3]})

這應該適用於 python 版本

master = {**s,'學生':[s1,s2,s3]}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM