Py学习  »  Python

在python中组合json字符串时出现语法错误

Riskhan • 5 年前 • 383 次点击  

我必须用组合的子字符串创建一个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社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49722
 
383 次点击  
文章 [ 4 ]  |  最新文章 5 年前
Sohail Khan
Reply   •   1 楼
Sohail Khan    5 年前

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

anuragal
Reply   •   2 楼
anuragal    5 年前

还有一个方法可以实现这一点

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版本

TsaiKoga
Reply   •   3 楼
TsaiKoga    5 年前

试试这个,它在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)

这对蟒蛇2和蟒蛇3都有效

master = dict(list(s.items()) + list(students.items()))
Alex Hall
Reply   •   4 楼
Alex Hall    5 年前

尝试:

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

这将扩大 s 使它们直接成为 master . 否则,必须直接使用 : 之间。

注意,这只适用于Python 3。