在python中组合json字符串时发生语法错误

在python中组合json字符串时发生语法错误,python,json,Python,Json,我必须创建一个带有组合子字符串的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]} 我喜欢这样出去 {'

我必须创建一个带有组合子字符串的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。

请尝试:

master = {**s,'students':[s1,s2,s3]}
这会将s扩展到其键和值中,以便它们直接成为master的一部分。否则,必须使用:between直接指定键和值


请注意,这只适用于Python 3。

试试这个,它适用于Python 2:

导入json s1={'name':'s1','age':15} s2={'name':'s2','age':10} s3={'name':'s3','age':12} s={'class':1} 学生={'students':[s1,s2,s3]} master=dicts.items+students.items 印霸 这将适用于python2和python3

master=dictlists.items+liststustudents.items
试试这个,它在Python2中工作:

导入json s1={'name':'s1','age':15} s2={'name':'s2','age':10} s3={'name':'s3','age':12} s={'class':1} 学生={'students':[s1,s2,s3]} master=dicts.items+students.items 印霸 这将适用于python2和python3

master=dictlists.items+liststustudents.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版本,还有一种方法可以实现这一点

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,'students':[s1,s2,s3]}

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

您的解决方案很简单,我使用的是python 3.8.0。我接受你的解决方案。谢谢您的解决方案很简单,我正在使用python 3.8.0。我接受你的解决方案。谢谢