Python 在列表中的元素前面添加符号

Python 在列表中的元素前面添加符号,python,list,Python,List,我有一个返回列表的函数: a = [1,2,-3,-4,0,4,0,-2] 有没有办法在列表中的非负值前面添加“+”号?如果您只想更改整数的repr和strrepr表示,那么您可以将int子类化: class Myint(int): def __repr__(self): if self > 0: return '+{}'.format(self) else: return '{}'.format(s

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

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

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

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

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

如果您只想更改整数的
repr
str
表示,则可以将
int
子类化:

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

你为什么要那样做?只是好奇我们能不能那样做。那是我不认为这是个好主意<代码>+4是一个字符串。如果没有一些额外的处理,你就不能进行整数运算。@karthikr列表是一个字符串。。这就是我问的原因。你为什么要这样做?只是好奇我们是否可以这样做。。这都是我不认为这是个好主意<代码>+4是一个字符串。如果没有额外的处理,就不能进行整数运算。@karthikr列表是一个字符串。。这就是我问的原因。