python - 我可以加入类(class)列表吗?

标签 python string class join generator

我需要从具有 .__str__() 方法的类列表中获取一个字符串。

所以 potions 是 Potion 类对象的列表。 Potion __str__ 方法只返回药水的名称。 我想到了做这样的事情

result = "\n".join(potions)

但只能连接字符串,我不知道如何为连接中的每个类调用 __str__()

或者我应该这样做:

for potion in potions:
    result += "{0}\n".format(potion)

或者可能是别的东西?

最佳答案

result = "\n".join(str(potion) for potion in potions)

也就是说,使用生成器表达式(也可以使用列表理解 --

result = "\n".join([str(potion) for potion in potions])

potions 中的每个 potion 调用 str()

关于python - 我可以加入类(class)列表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8823076/

相关文章:

python - 如何从数据框中删除重复项?

Java String 仅在字符串末尾保留数字字符

Python - 生成十六进制值的所有组合

java - 使用 makefile 无法找到或加载主类

c++ - 在默认构造函数中初始化 vector 变量?

python字典插入到mysql

python - 如何在 .kv 文件中使用 if 语句

c++ - 在 C++ 中将二维指针数组初始化为成员变量

python - 用于 Python 3.3 的 pyHook

c# - 使用字符串格式化与字符串连接相比有什么好处吗?