我有两张单子:
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"}]
我想先搜索图像中的第一个项目,然后搜索下一个项目,依此类推,然后搜索数据中的名称,如果名称相同,则获取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))
现在它工作的很好,但我认为这是真的效率低下,一旦我得到了大量的数据,在图像,名称和数据。Python中最好的方法是什么?我使用的是python2.7
其他选项:
当同名图像以不同的ID存在时,它也起作用:
主要问题是您的数据结构没有设置为提供所需的访问权限。而不是一个单字列表,让它成为你想要使用的自然单字:
现在,创建相应的
id
列表所需的就是如果您需要这两种访问方法(如果您仍然需要
name
和id
标签),那么我建议您学习使用Pandas数据帧,其中name
和id
作为列。这将给你最好的两种方法。你知道吗相关问题 更多 >
编程相关推荐