如何在对象列表中连接字符串

时间:2014-07-21 05:30:39

标签: python string list dictionary

', '.join(strings)可用于连接列表中的所有字符串。

现在我有一个存储对象的列表,我想将他们的名字加在一起。 e.g:

>>> a=[{'name': 'John', 'age': '21'},{'name': 'Mark', 'age': '25'}]
>>> a[0]['name'] + ', ' + a[1]['name']
'John, Mark'

上面有join()之类的简单方法吗?

1 个答案:

答案 0 :(得分:3)

您有字典列表而不是对象列表。我们可以像这样加入他们

print ", ".join(d["name"] for d in a)

d["name"] for d in a被称为生成器表达式,str.join将逐个获取生成器表达式中的值,并将所有值与,连接在一起。

但是,如果词典列表太大,我们可以自己创建一个字符串列表并将其传递给str.join这样的

print ", ".join([d["name"] for d in a])

此处,[d["name"] for d in a]称为列表推导,它遍历a并创建一个包含所有name的新列表,我们将该列表传递给, }。


我刚注意到评论部分的讨论。请检查this answer以了解为什么列表理解在字符串加入方面优于GenExp。