首页 > 解决方案 > 使用列表推导创建使用 dict 值放在一起的字符串列表

问题描述

我有一个看起来像这样的字典列表:

{
    "address": "TestA",
    "zipcode": "95723",
    "postofficename": "TestB"
}

我想做一个列表理解,它创建一个以输入参数开头的字符串列表address

[
    "TestA, 95723 TestB"
]

我似乎无法让它工作,也不确定从这里去哪里,我尝试了什么:

startswith_list = \
        [r = '{}, {} {}'.format(r['address'], r['zipcode'], r['postofficename']) if r['address'].startswith(address) for r in result]

标签: python

解决方案


这里有两个错误:

[r = '{}, {} {}'.format(r['address'], r['zipcode'], r['postofficename']) if r['address'].startswith(address) for r in result]

首先,这r = ...是一个语法错误,因为理解中的第一件事必须是一个表达式,如下所示:

['{}, {} {}'.format(r['address'], r['zipcode'], r['postofficename']) if r['address'].startswith(address) for r in result]

接下来,if在错误的地方:它应该循环之后:

['{}, {} {}'.format(r['address'], r['zipcode'], r['postofficename']) for r in result if r['address'].startswith(address)]

推荐阅读