如何在python中迭代时更改容器中的数据

pur*_*rga 1 python

给出以下示例:

container = [ (1, "a") , 
              (40, "b") ,
              (24, "c") ,  #we intend to change this
              (103, "d")
            ]

for k,v in container:
    if k == 24:
        v += " good"

print container
Run Code Online (Sandbox Code Playgroud)

容器中(24,"c")数据对仍将保持其原始值,并且不会更改为(24,"c good").在迭代期间将其改为(24,"c good")的方法是什么?

我使用python 2.7,但也欢迎使用3.x示例.

谢谢.

sth*_*sth 6

您可以使用enumerate()您正在查看的容器项的索引的跟踪:

for i, (k,v) in enumerate(container):
    if k == 24:
        container[i] = (k, v+" good")
Run Code Online (Sandbox Code Playgroud)