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问题
将Pandas数据帧转换为PyTorch张量?
3 回答
将Pandas数据帧转换为scipy稀疏矩阵
8 回答
将Pandas数据帧转换为Spark Datafram时出现问题
4 回答
将pandas数据帧转换为spark DataFram时出错
9 回答
将Pandas数据帧转换为spark datafram时收到错误
5 回答
将Pandas数据帧转换为Spark数据帧
2 回答
将Pandas数据帧转换为Tensorflow数据
8 回答
将Pandas数据帧转换为tkinter obj
5 回答
将pandas数据帧转换为XML
6 回答
将Pandas数据帧转换为值sql语句
2 回答
将pandas数据帧转换为元组
8 回答
将pandas数据帧转换为元组列表
8 回答
将pandas数据帧转换为元组列表并删除所有pandas数据类型
4 回答
将pandas数据帧转换为具有头和数据类型的numpy数组
3 回答
将pandas数据帧转换为内存中的拼花地板,并将其加载到Python中的Hadoop中
9 回答
将pandas数据帧转换为内存中类似文件的对象?
2 回答
将Pandas数据帧转换为内存功能(&F)
1 回答
将pandas数据帧转换为列表列表
1 回答
将pandas数据帧转换为列表列表以输入到RNN
6 回答
将Pandas数据帧转换为单行DataFram
10 回答