给出以下示例:
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
容器 中的 (24,“c”) 数据对仍将保持其原始值, 并且不会更改为 (24,“c good”) 。如何在迭代期间将其改为 (24,“c good”) ?
我使用python 2.7,但也欢迎使用3.x示例。
感谢。
答案 0 :(得分:6)
您可以使用enumerate()
跟踪您正在查看的容器项目的索引:
for i, (k,v) in enumerate(container):
if k == 24:
container[i] = (k, v+" good")
答案 1 :(得分:1)
搞砸了一下。现在修复
container = [ (1, "a") ,
(40, "b") ,
(24, "c") , #we intend to change this
(103, "d")
]
for k, n in enumerate(container):
if n[0] == 24:
container[k] = (n[0], n[1] + " good")
print container