【发布时间】:2011-03-13 11:48:40
【问题描述】:
考虑:
args = ['-sdfkj']
print args
for arg in args:
print arg.replace("-", '')
arg = arg.replace("-", '')
print args
这会产生:
['-sdfkj']
sdfkj
['-sdfkj']
我希望它是['sdfkj']。
循环中的arg 是副本吗?
它的行为就好像它是一个副本(或者可能是一个不可变的东西,但我预计会抛出一个错误......)
注意:我可以通过列表理解获得正确的行为。我很好奇上述行为的原因。
【问题讨论】: