python - 从 JSON 文件的元素制作列表
问题描述
我想从一个 JSON 文件(https://www.dropbox.com/s/woxtqy634g89f0r/tags.json?dl=0)中创建三个不同的列表,比如 A、B 和 C:
A: (13,13,...,37)
B: (12,14,...,32)
C: ([-1.3875, 1.3875, -1.95 ], [[-2.775, -0., -0., ], .., [-0., 2.775, -0. ]])
有什么快速而聪明的方法吗?
我在 jupyter-notebook 中试过:
with open('tags.json', 'r') as f:
tags = json.load(f)
tags['neb.00']
输出会给我
'13->12 0.2906332796567428 [-1.3875 1.3875 -1.95]'
然后我可以做一些事情,比如tags['neb.03'][0:2]
得到13
等等。但这不是一个好方法,我希望有一个正确的方法来做到这一点。有人可以帮我吗?
解决方案
for k,v in data.items():
A =v[:v.index('-')]
B =v[v.index('>')+1:v.index('[')]
C =v[v.index('[')::]
print(k,A,B,C)
.items() 遍历字典键(k)和值(v)
我不知道这是否是您正在寻找的答案,但查看您的数据,它似乎具有稳定的结构。我想您可以将每个值附加到列表中。
推荐阅读
- azure - 如何配置我的 Azure 应用注册和本机客户端以支持使用 MSA 通过设备代码流进行身份验证的来宾帐户?
- android - 从回收视图和 Firebase 中删除一行
- javascript - 基于 const defaultValues 映射创建 typescript 接口
- liferay-7 - Liferay 为什么要在密码前加上算法名?
- matlab - 八度积分不使用符号变量评估定积分
- python - 如何在具有相似值(但不相同)的公共列上合并 pandas 中的两个数据框?
- google-maps - 如何访问重叠的 geojson/多边形以显示在信息框中
- python - 未找到模板(路径设置为 setting.py 模板)
- flutter - 我可以将徽章添加到不是前导或尾随小部件的 Flutter ListTile 吗?
- r - 通过另一个变量的加权值对一个变量进行排名?