', '.join(strings)
可用于连接列表中的所有字符串。
现在我有一个存储对象的列表,我想将它们的名称连接在一起。例如:
>>> a=[{'name': 'John', 'age': '21'},{'name': 'Mark', 'age': '25'}]
>>> a[0]['name'] + ', ' + a[1]['name']
'John, Mark'
有没有像上面的 join()
这样的简单方法来做到这一点?
最佳答案
您有字典列表而不是对象列表。我们可以像这样将它们连接在一起
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
并创建一个包含所有 a 的新列表>name
s,我们传递该列表以与 ,
连接。
我刚刚注意到评论部分的讨论。请查看this answer要知道为什么列表推导式在字符串连接方面比 GenExp 更好。
关于python - 如何在对象列表中连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24858249/