2015-10-16 42 views
-1

我想填充一個列表並遍歷它以替換項目是否存在。 我列表中的每個項目都有5個屬性,即e1,e2,e3,e4和e5。 E1就像是我的主鍵,在此基礎上我想執行替換和刪除operations.Currently,我正在尋找此鍵即追加,擴展,刪除,替換 - Python列表

myList = [0,0,0,0,0] 
for i in myList: 
    If (i[0] == key): 
     i[1] = somevalue 
     i[2] = somevalue 
     i[3] = somevalue 
     i[4] = somevalue 
# Perform some calculation here 
     # Replace the i[1],i[2],i[3],i[4] values for this item. i[0] still stays same. 

我在「如果」條件得到一個錯誤:「詮釋」對象不可訂閱。我最初的列表是空的。我需要首先填充值,並在下一次迭代中替換2,3,4和5個元素的值。第一個元素保持不變。我想知道我在哪裏出錯了,以及如何根據第一個元素替換列表中的每個項目。

+0

'我'有0(第一個元素),並且你正試圖將其子類化,就像它是一個列表。這是一個整數。只需使用[list.index()](https://docs.python.org/2/tutorial/datastructures.html)獲取列表中第一次出現值的位置,然後使用該索引修改在該位置根據需要。 –

+0

我是第一個循環的列表中的項目,我是0,然後你說0 [0] ==鍵?! myList應該看起來像這樣[[0,0,0,0,0]] – rebeling

+0

@rebeling:明白了!該錯誤現在處理。你能建議我怎樣才能根據第一個索引中的元素只替換列表中某個項目的一部分元素? 我試圖刪除整個列表,並將其附加到新的值,但我想知道是否有一種有效的方法.. – Dee

回答

0

您未正確初始化您的myList。你想要

myList = [[0,0,0,0,0]]