python - 在 Python 列表中按字典 ID 查找元素[字典]
问题描述
我遇到的问题如下:我得到了已转换为字典的 JSON 数据。JSON 数据如下所示:
[{"text": "foo1", "value": 1},
{"text": "foo2", "value": 2}]
所以我在 Python 中转换的 json 是
json = [{'text': 'foo1', 'value': 1}, {'text': 'foo2', 'value': 2}]
.
这些字典中的文本是随机数据,可以交换任何值,另一方面,值可以解释为从 1 到无穷大的固定和唯一 ID。
现在我的问题是什么可能是最有效的获取文本的方法。
因为我尝试的是
foo1 = [v['text'] for v in json if json['value'] == 1][0] # and
foo2 = {list(v.values())[1]: list(v.values())[0] for v in json}[2]
虽然我不得不承认我对这些解决方案并不满意......
解决方案
如果您需要通过 获取多个项目,最有效的方法value
是将此 dicts 列表转换为具有value
as 键和text
值的 dict:
d = { x['value']: x['text'] for x in dic }
现在您可以使用d[n]
to find text
for value
equal n
。
推荐阅读
- php - Opencart 3. 在oc_product_image中添加新字段
- javascript - 如何在 mvc 视图中生成页面链接(API 方法已经返回分页结果)
- docker - 为什么在 minikube VM 中无法访问 docker-daemon?
- powershell - 在密码即将到期时向 AD 用户发送电子邮件
- c# - 将标记的枚举转换为另一个
- python - 如何用 max 替换 tensorflow softmax 以在神经网络的输出层生成一个热向量?
- android - Android Studio Mac全新安装 - 错误接连出错
- python - how to insert dynamic data in sqlite3 using python
- codenameone - 如何使用窗体为玻璃窗格设置动画?
- php - 从位桶管道运行测试用例时出错(在本地主机直接测试用例上工作)