在Java中,如果我调用List.toString(),它将自动对列表中的每个对象调用toString()方法。例如,如果我的列表包含对象o1、o2和o3,list.toString()将如下所示:
"[" + o1.toString() + ", " + o2.toString() + ", " + o3.toString() + "]"
有没有办法在Python中获得类似的行为?我在类中实现了一个str_uuu()方法,但是当我打印出一个对象列表时,使用:
print 'my list is %s'%(list)
看起来像这样:
[<__main__.cell instance at 0x2a955e95f0>, <__main__.cell instance at 0x2a955e9638>, <__main__.cell instance at 0x2a955e9680>]
如何让python为列表中的每个元素(或dict)自动调用我的str?
在python列表中调用字符串会调用内部每个元素的
__repr__
方法。对于某些项目,__str__
和__repr__
是相同的。如果你想这样做,请:您可以使用list comprehension自动生成每个项目str()的新列表:
有两件简单的事情可以做,使用
map
函数或使用理解。但这会得到一个字符串列表,而不是字符串。所以你也必须把这些弦连在一起。
或者
然后可以打印这个复合字符串对象。
相关问题 更多 >
编程相关推荐