我有两个列表:
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