如何打印由自定义类对象组成的列表

时间:2016-11-04 12:00:30

标签: python-3.x

假设我有一个自定义类:

class A:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __str__(self):
        return self.x + ',' + self.y

我可以获得预期的输出" x,y"通过这个:

sample = A('x', 'y')
print(sample)

但如果我把样本放在一个列表中:

l = [sample]
print(l)

我明白了:

[<__main__.A object at 0x7ff8ae170470>]

如何获得预期的输出?

2 个答案:

答案 0 :(得分:0)

您需要为__repr__方法提供实现。您可以使用与__str__方法相同的代码。

这篇文章涵盖了相同的内容和指向文档的链接:How to apply __str__ function when printing a list of objects in python

答案 1 :(得分:-1)

print'[%s]'%','。join(map(str,l))