【发布时间】:2019-05-13 18:55:25
【问题描述】:
所以我有这两个列表:
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"}]
我想在 data 中的 images_names 中搜索第一个项目,然后再搜索下一个项目,如果它具有相同的名称来获取 id 并将其添加到列表中。
这就是我的做法:
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))
现在它工作得很好,但我认为一旦我在 images_names 和 data 中获得大量数据,这真的是低效的。 Python中最好的方法是什么?我正在使用 python 2.7
【问题讨论】:
标签: python list sorting dictionary