1

我有一个返回列表的函数:

a = [1,2,-3,-4,0,4,0,-2]

有没有办法我们可以在列表中的非负值前面添加“+”号?

4

1 回答 1

1

如果您只想更改整数的repr和表示,那么您可以子类化:strint

class Myint(int):
    def __repr__(self):
        if self > 0:
            return '+{}'.format(self)
        else:
            return '{}'.format(self)

    #similarly override `__str__` as well
...         
>>> a = [Myint(x) for x in (1,2,-3,-4,0,4,0,-2)]
>>> a
[+1, +2, -3, -4, 0, +4, 0, -2]
>>> a[0]
+1
于 2013-11-08T21:43:53.820 回答