0
我有下面的自定義類,當它的長度大於5時,它將被截斷。當單步執行代碼時,切片操作會發生,但是當控制權返回給調用者時存儲的topFiveList實例保持長度大於5.我在這裏做錯了什麼?Python自定義列表類 - 切片自我
class topFiveList(list):
def add(self, key, value):
index = -1
for i, pair in enumerate(self):
if pair[1] < value:
index = i
break
if index == -1:
self.append([key, value])
else:
self.insert(index, [key, value])
if len(self) > 5:
self = self[:5]
testvals = [['six', 6], ['one',1], ['five',5], ['nine', 9], ['three',3], ['four', 4], ['seven', 7]]
topFive = topFiveList()
for text, value in testvals:
topFive.add(text, value)
'self = self [:5]'不會修改'self'實例。 – vaultah
好的。但爲什麼不呢?以及如何更改自我實例?而且,對於誰低估了這個問題,你能否發表評論讓我知道我可以怎樣改進這個問題? – wesanyer