我有一个列表,列表中的每个列表包含5个项目,如何更改列表中项目的值?我尝试了以下内容:
for [itemnumber,ctype,x,y,delay] in execlist: if itemnumber == mynumber: ctype = myctype x = myx y = myy delay = mydelay
最初我有一个元组列表,但我意识到我不能更改元组中的值,所以我切换到列表,但我仍然无法更改任何值.如果我从for循环中打印ctype,delay,myctype,myx,myy或mydelay,似乎一切正常,但是如果以后打印execlist,我看到没有任何改变.
解决方法
问题是您正在创建列表的副本,然后修改副本.您要做的是修改原始列表.尝试这个:
for i in range( len( execlist ) ): if execlist[i][0] == mynumber execlist[i][1] = myctype execlist[i][2] = myx execlist[i][3] = myy execlist[i][4] = mydelay