我處於一個有點棘手的情況與列表子類。在Python中,當附加兩個列表時,在第二個列表上調用什麼來獲取項目?
我使用List類是爲了返回的東西從什麼實際內部存儲(略有不同覆蓋__iter__
和__getitem__
這是因爲這是需要被希望只在完成後該項目是第一個直接訪問處理時間)
我的問題出現在以下用例中。比方說,對於這個例子的使用,重寫的方法將內部值轉換爲字符串。
>>> myList = MyList([1, 2, 3])
>>> standardList = list(["a", "b", "c"])
>>>
>>> for item in myList:
>>> print item
"1"
"2"
"3"
>>> newList = standardList + myList
>>> for item in newList:
>>> print item
"a"
"b"
"c"
1
2
3
那麼這裏後,我是值是如何從myList
拉時運行standardList + myList
,這樣我就可以確保newList
已取得了相關的修改。
順便說一句,我很清楚地知道,如果我推翻MyList.__add__
,然後做myList + standardList
我能得到這個工作,但是這是在其他地方使用的模塊,我寧願確保它能正常工作的正確方式兩個方向。
感謝
除了我很好的結果列表是一個列表,myList中的元素只需要先修改。 – Hugh 2014-12-03 13:09:52