', '.join(strings)
可用于连接列表中的所有字符串。
现在我有一个存储对象的列表,我想将他们的名字加在一起。 e.g:
>>> a=[{'name': 'John', 'age': '21'},{'name': 'Mark', 'age': '25'}]
>>> a[0]['name'] + ', ' + a[1]['name']
'John, Mark'
上面有join()
之类的简单方法吗?
答案 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。