修改Python列表的每个元素,并将结果合并为一个字符串

Nya*_*Cat 1 python list-comprehension

假设有一个"dog"类型的对象列表,每只狗都有一个参数"name".例如:

dogs = [dog1, dog2, dog3]  
Run Code Online (Sandbox Code Playgroud)

是一个由三只狗组成的名单,名称为Rocky,Spot和Daisy.

我试图访问每只狗的"名称"并生成一个像"洛基,斑点,雏菊"的字符串.我知道我需要使用List Comprehensions,但具体结果比我想象的要复杂.

我试过用

result = (dog.name+", " for dog in dogs)  
Run Code Online (Sandbox Code Playgroud)

结果变成了生成器而不是字符串.

我也试过了

result = ",".join(layers.name) 
Run Code Online (Sandbox Code Playgroud)

但我没有找到一种方法来访问每只狗的"名称"字段.

我知道如何使用强力解决问题,但我真的想要实现一个优雅的"python"解决方案.任何帮助将不胜感激!

Dan*_*iel 7

你必须将发电机与join:

result = ', '.join(dog.name for dog in dogs)  
Run Code Online (Sandbox Code Playgroud)