Python中文
首页
教程
问答
标签
搜索
登录
注册
在Python2.7中更快地从大列表中搜索ID?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有两张单子:</p> <pre><code>image_names = ["IMG_1.jpg", "IMG_2.jpg"] data = [{"name": "IMG_1.jpg", "id": "53567"}, {"name": "IMG_2.jpg", "id": "53568"}, {"name": "IMG_3.jpg", "id": "53569"}, {"name": "IMG_4.jpg", "id": "53570"}] </code></pre> <p>我想先搜索图像中的第一个项目,然后搜索下一个项目,依此类推,然后搜索数据中的名称,如果名称相同,则获取id并将其添加到列表中。你知道吗</p> <p>我就是这么做的:</p> <pre><code>for image_name in image_names: for datum in data: datum_name = datum.get("name", None) if datum_name == image_name: images_ids.append(datum.get("id", None)) </code></pre> <p>现在它工作的很好,但我认为这是真的效率低下,一旦我得到了大量的数据,在图像,名称和数据。Python中最好的方法是什么?我使用的是python2.7</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<pre><code>>>> images_ids = [filter(lambda x: x['name'] == name, data) for name in image_names] >>> images_ids = [i[0]['id'] for i in images_ids if i] >>> images_ids ['53567', '53568'] </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django restfram生成PDF
3 回答
无法使用Django Rest框架发送压缩的gzip数据
4 回答
无法使用Django rest框架进行身份验证(请求用户=匿名用户)
1 回答
无法使用Django、Python和JavaScrip触发onclick函数
4 回答
无法使用Django.views.generic.View保存表单
4 回答
无法使用Django(python 2.7,OS X 10.11.1)
10 回答
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
6 回答
无法使用Django\u mssql\u后端迁移到外部hos
10 回答
无法使用Django&Python3.4连接到MySql
1 回答
无法使用Django+nginx上载媒体文件
3 回答
无法使用Django1.6导入名称模式
8 回答
无法使用Django1.7和mongodb登录管理站点
2 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
1 回答
无法使用Djangockedi验证CBV中的字段
2 回答
无法使用Djangocketditor上载图像(错误400)
7 回答
无法使用Djangocron进行函数调用
4 回答
无法使用Djangofiler djang上载文件
5 回答
无法使用Djangokronos
3 回答
无法使用Djangomssql provid
5 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
9 回答