在Python中解析命名列表中的元素

在Python中解析命名列表中的元素,python,list,Python,List,我得到一个命名列表作为Python程序的输出 [{'path': u'/home/mycomp/Documents/folder1/906350_16379886.JPG', 'score': 7.937254, 'dist': 0.0, 'id': u'AWW3yZOubIicFyUL0_lv', 'metadata': None}, {'path': u'/home/mycomp/Documents/folder1/907675_16389607.JPG', 'score': 0.51195

我得到一个命名列表作为Python程序的输出

[{'path': u'/home/mycomp/Documents/folder1/906350_16379886.JPG', 'score': 7.937254, 'dist': 0.0, 'id': u'AWW3yZOubIicFyUL0_lv', 'metadata': None}, {'path': u'/home/mycomp/Documents/folder1/907675_16389607.JPG', 'score': 0.5119519, 'dist': 0.2922064602034243, 'id': u'AWW3bhtybIicFyUL0uVN', 'metadata': None}]
在这种情况下,输出的长度是2,我无法控制输出的长度。我只想从打印的路径中获取文件名。我知道我可以用

os.path.basename(path)
获取文件名。但是,当我尝试使用以下代码从列表中获取路径时:

for (i, imagePath) in enumerate(imagePaths):
    a=ses.search_image(imagePath)
    for k,v in enumerate(a):
        print(v)    
imagePath
=提供图像的路径

a=ses.search\u image(imagePath)
=搜索类似图像,并将图像的所有匹配图像参数存储在a的路径中。a的输出就是我上面给出的

for k,v in enumerate(a):
     print(v)
实际上,将每个列表打印为单独的一行,如下所示:

{'path': u'/home/mycomp/Documents/folder1/906350_16379886.JPG', 'score': 7.937254, 'dist': 0.0, 'id': u'AWW3yZOubIicFyUL0_lv', 'metadata': None}
{'path': u'/home/mycompDocuments/folder1/907675_16389607.JPG', 'score': 0.5119519, 'dist': 0.2922064602034243, 'id': u'AWW3bhtybIicFyUL0uVN', 'metadata': None}
所需的输出如下所示:

906350_16379886.JPG
907675_16389607.JPG
用于提取文件名,并获取
路径
键,而不是整个字典。(此外,此处不需要使用
枚举

用于提取文件名,并获取
路径
键,而不是整个字典。(此外,此处不需要使用
枚举


不导入操作系统:

lst = [{'path': u'/home/mycomp/Documents/folder1/906350_16379886.JPG', 'score': 7.937254, 'dist': 0.0, 'id': u'AWW3yZOubIicFyUL0_lv', 'metadata': None}, {'path': u'/home/mycomp/Documents/folder1/907675_16389607.JPG', 'score': 0.5119519, 'dist': 0.2922064602034243, 'id': u'AWW3bhtybIicFyUL0uVN', 'metadata': None}]

print([x['path'].rsplit('/', 1)[1] for x in lst])
# ['906350_16379886.JPG', '907675_16389607.JPG']

不导入操作系统:

lst = [{'path': u'/home/mycomp/Documents/folder1/906350_16379886.JPG', 'score': 7.937254, 'dist': 0.0, 'id': u'AWW3yZOubIicFyUL0_lv', 'metadata': None}, {'path': u'/home/mycomp/Documents/folder1/907675_16389607.JPG', 'score': 0.5119519, 'dist': 0.2922064602034243, 'id': u'AWW3bhtybIicFyUL0uVN', 'metadata': None}]

print([x['path'].rsplit('/', 1)[1] for x in lst])
# ['906350_16379886.JPG', '907675_16389607.JPG']

很抱歉打扰您,python中没有“命名列表”这样的东西。第一个示例中的项目是一个包含两个元素的列表。还有,你说“打印每个列表…”。那些不是清单,它们是字典。字典和列表是python中不同类型的对象。遵循命名约定肯定会使将来解决问题更容易。@Chillie感谢您的澄清……我正在学习编程……对命名法迷路了。下次一定要小心。祝你好运!请务必阅读其中的一些内容,其中包含大量有用的示例信息。很抱歉打扰您,python中并没有“命名列表”这样的东西。第一个示例中的项目是一个包含两个元素的列表。还有,你说“打印每个列表…”。那些不是清单,它们是字典。字典和列表是python中不同类型的对象。遵循命名约定肯定会使将来解决问题更容易。@Chillie感谢您的澄清……我正在学习编程……对命名法迷路了。下次一定要小心。祝你好运!请确保您阅读了其中的一些内容,其中包含大量有用的信息和示例。