python - 使用值从字典列表中访问字典
问题描述
我有字典列表
a = [{'id':'1','name':'john'}, {'id':'2','name':'johns'}, {'id':'3','name':'rock'}
我想显示使用id
值'2'
来搜索字典的字典,想要的输出是这样的
{'id':'2','name':'johns'}
如何将字典显示为那样?
解决方案
您可以在 O(n) 中使用列表推导:
a = [{'id':'1','name':'john'}, {'id':'2','name':'johns'}, {'id':'3','name':'rock'}]
# [{'id': '2', 'name': 'johns'}]
print([d for d in a if d['id'] == '2'])
然而,将数据表示为字典更有效,在 O(1) 中:
a = {'1': {'name' : 'john'}, '2': {'name' : 'johns'}, '3': {'name' : 'rock'}}
# {'name': 'johns'}
print(a['2'])
推荐阅读
- regex - 编写一个正则表达式来测试一个 * 最后只能允许的字符串
- wordpress - 前端表单中的 Wordpress 媒体上传器有效,但在同一表单中添加媒体按钮不允许新上传
- ios - UITableViewCell 在 reloadSections 后不显示背景和插图
- python - 使用 PyCharm 和 Python 3.9 使 reprexpy 工作
- sql - 如何获取每个产品 ID 的每个卖家 ID 的最新值
- python - 将 Pandas 对象转换为分钟和秒
- reactjs - 当我删除输入时,所有其他输入数据都会变得清晰
- javascript - 在 Parcel React 上无法读取未定义错误的属性“类型”
- laravel - 同时从多个帖子中获取所有标签
- smartcontracts - 如何向 BSC 智能合约添加销毁功能?