【问题标题】:Taking a list of items and displaying a value from each item as a string获取项目列表并将每个项目的值显示为字符串
【发布时间】:2016-01-12 08:09:14
【问题描述】:

我有一个接收项目列表的函数,即 [item_1, item_2] 等。

每个项目本身都是另一页上的字典。即 item_1 {键:值等} 我想显示列表中每个项目的键值(称为“名称”)。

例如,如果函数 list_of_items() 的输入是 [item_1, item_2]

应该以逗号分隔的字符串形式返回“项目 1 的名称,项目 2 的名称”。

new_list = []
for i in items:
    new_list.append(i["name"])

return str(new_list).strip('[]')

此代码返回“'第 1 项的名称','第 2 项的名称'”,这是我得到的最接近的。

如何返回我想要的字符串?

【问题讨论】:

    标签: python string list dictionary


    【解决方案1】:

    您可以使用str.join() 将字符串列表连接成一个字符串。示例 -

    new_list = []
    for i in items:
        new_list.append(i["name"])
    
    return ','.join(new_list)
    

    这可以使用下面的列表理解来简化 -

    return ','.join([i['name'] for i in items])
    

    演示 -

    >>> items = [{'name':'a'},{'name':'b'},{'name':'c'}]
    >>> ','.join([i['name'] for i in items])
    'a,b,c'
    

    【讨论】:

    • 非常感谢,正是我想要的。
    • 很高兴能为您提供帮助! :-)
    【解决方案2】:

    @AnandSKumar 的答案是完美的。此外,请注意,您提供的代码中实际上并没有函数。 python 中的函数以def 语句开头。所以从@AnandSKumar 复制一些代码,你有以下功能:

    def dictsName2str ( listOfDicts ) :
        return ','.join([i['name'] for i in listOfDicts])
    

    然后您可以使用以下代码调用您的函数:

    >>> items = [{'name':'a'},{'name':'b'},{'name':'c'}]
    >>> myStr = dictsName2str( items )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 2020-04-18
      • 2013-02-06
      • 1970-01-01
      • 2020-07-23
      相关资源
      最近更新 更多