【发布时间】:2021-08-01 13:56:42
【问题描述】:
所以在收到带有以下代码的 JSON 后:
ctype, pdict = cgi.parse_header(self.headers.get('content-type'))
if ctype == 'application/JSON':
length = int(self.headers.get('content-length'))
input = JSON.loads(self.rfile.read(length))
我从字典 print(input) 收到了这种 JSON:
{'packageInput': {'dog': [4.18, 0.08, 41.51, 0, 0, 0, 0, 0],
'cat': [2.752, 3.69, 2.29, 0, 0, 0, 0, 0],
'bird': [4.45, 4.97, 2.37, 0, 0, 0, 0, 0],
'chicken': [0.81, 0.61, '0.336', 0, 0, 0, 0, 0],
'min': ['1', 0, 0, 0, 0, 0, '5', 0, 0, 0, 0, 0],
'max': [4, 4, 4, 4, 100, 100, 100, 0, 0, 0, 0, 0]}}
正如我们所见,JSON 中的每个“列表”都有“数组”。如何将它们提取到单独的 python 列表变量中?
如:
dog = []
cat = []
bird = []
chicken = []
我一直在研究解决方案,从使用for 循环到模块导入。我相信有一个更简单的解决方案来提取它。
你能分享一个想法吗?
【问题讨论】:
-
动态命名变量通常是个坏主意。你已经有一些非常接近的东西,这要好得多。通过
variables = data['packageInput'],您可以以data['dog']、data['cat']等身份访问每个列表...
标签: python json python-3.x