因为
for i in li工作方式是这样的:
for idx in range(len(li)): i = li[idx] i = 'foo'
所以如果你给i它分配任何东西都不会影响
li[idx]。
解决方案是您所建议的,或者遍历索引:
for idx in range(len(li)): li[idx] = 'foo'
或使用
enumerate:
for idx, item in enumerate(li): li[idx] = 'foo'

因为
for i in li工作方式是这样的:
for idx in range(len(li)): i = li[idx] i = 'foo'
所以如果你给i它分配任何东西都不会影响
li[idx]。
解决方案是您所建议的,或者遍历索引:
for idx in range(len(li)): li[idx] = 'foo'
或使用
enumerate:
for idx, item in enumerate(li): li[idx] = 'foo'