假设我有一个自定义类:
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>]
如何获得预期的输出?
答案 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))