python - 如何从python中的字典列表中轻松获取值列表?
问题描述
这是json:(仅供参考,'0'到'2'是原始pd.Series([1,1,1])的索引
json1 = {
'hi':[
{'0':1},
{'1':1},
{'2':1}
]
}
我想[1,1,1]
从 json1 中获取。
我试过了:
records = [v for v in json1['hi']]
emt=[]
for rec in records:
for i in rec.keys():
value = rec[i]
emt.append(value)
有没有像一行代码这样简单易行的方法来实现它?谢谢
解决方案
如果您的数据类型不方便:
json1 = {
'hi':[
{'0':1},
{'1':1},
{'2':1}
]
}
那么提取你想要的数据的代码也会很不方便:
[next(iter(d.values())) for d in json1["hi"]]
如果您的数据类型方便:
json1 = {
'hi':{'0':1,
'1':1,
'2':1}
}
那么代码也会很方便:
list(json1['hi'].values())
故事的寓意:使用字典,而不是单元素字典的列表。
推荐阅读
- python - 如何在python中使用isdigite进行浮点数
- three.js - 对象在屏幕上保持相同大小,无论其与相机的距离如何
- xml - 元素内元素的 DTD
- python-3.x - 在 Windows 上安装 Pipenv
- macos - 有没有比文件或 mdls 更快的方法在命令行中获取 MacOS X 上的文件类型
- amazon-s3 - 从 S3 复制文件时出现 AWS CodeBuild 错误 - COMMAND_EXECUTION_ERROR:原因:退出状态 1 (NodeJS)
- java - Minecraft Forge - Loop 不断覆盖自己
- python-3.x - 嘿,我正在尝试使用 selenium 在 python 中自动化某些东西,但我似乎无法单击按钮。下面附上截图
- assembly - 这条线到底是什么意思?
- linux - 基于设备树中两个独立节点的两个 Linux 内核驱动程序实例之间的通信