首页 > 解决方案 > 如何获取列表字典的值并将其附加到字符串?

问题描述

所以这就是我正在使用的。我有一个字典调用面部照片列表。

mugshots = [{'path': '/leds/files/2021/1000000578', 'name': 'IN202100005_F.jpg'}, {'path': '/leds/files/2021/1000000579', 'name': 'IN202100005_L.jpg'}]

我只需要获取路径和名称的值并将其附加到字符串中。所以我需要一个for循环和一个空字符串?

empty_string = ""
for mugshot in mugshots:
    for key, value in mugshot.items():
        empty_string= empty_string.join(value)

如果我这样做得到 I/I/leds/files/2021/1000000578N/leds/files/2021/10000005782 这不是我想要的。我需要得到 /leds/files/2021/1000000578IN202100005_F.jpg 但在 /leds/files/2021/1000000578_IN202100005_F.jpg 之间可能有一个分隔符

标签: python-3.x

解决方案


您可以使用列表推导:

mugshots = [
    {'path': '/leds/files/2021/1000000578', 'name': 'IN202100005_F.jpg'},
    {'path': '/leds/files/2021/1000000579', 'name': 'IN202100005_L.jpg'}
]
    
print(['/'.join(mugshot.values()) for mugshot in mugshots])
# Outputs ['/leds/files/2021/1000000578/IN202100005_F.jpg', '/leds/files/2021/1000000579/IN202100005_L.jpg']

或者,如果除了“路径”和“名称”之外还有更多条目:

print(['/'.join((mugshot['path'], mugshot['name'])) for mugshot in mugshots])
# Outputs ['/leds/files/2021/1000000578/IN202100005_F.jpg', '/leds/files/2021/1000000579/IN202100005_L.jpg']

推荐阅读