2015-10-16 44 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]]