0

リスト メソッドをオーバーライドして 2 つの要素を追加しようとしています。どうやってやるの?

class LI(list):
    def append(self, item):
        self.append(item)


l = LI([100, 200])
l.append(302)
l.append(402)

print l

最終出力:

[100,200,302,302,402,402]
4

1 に答える 1

5
class LI(list):
    def append(self, *args):
        self.extend(args)

これで使用できます:

a = LI()
a.append(1,2,3,4)
a.append(5)

あるいは、次のことを意味していたかもしれません:

class LI(list):
    def append(self, item):
        list.append(self,item)
        list.append(self,item)

しかし、実際には、通常のリストを使用して、本来の使用方法を使用しないのはなぜextendでしょappendうか?

a = list()
a.extend((1,2,3,4))
a.append(5)

また

a = list()
item = 1
a.extend((item,item))
于 2012-10-17T15:00:30.883 に答える