考慮:語義和字符串
args = ['-sdfkj']
print args
for arg in args:
print arg.replace("-", '')
arg = arg.replace("-", '')
print args
這產生了:
['-sdfkj']
sdfkj
['-sdfkj']
在哪裏我希望它是['sdfkj']
。
是arg
在循環中的副本?
它的行爲就好像它是一個副本(或者可能是不可改變的thingie,但後來我想到一個錯誤會被拋出...)
注:我可以用一個列表理解正確的行爲。我很好奇上述行爲的原因。
是否有語法來表示我要對參考本身操作? – 2010-07-08 17:45:36
@Paul Nathan:不。如果你有一個對數組的引用而不是內容,那麼你可以直接修改數組''args [i] = args [i] .replace(「 - 」,'')'。所以你可以例如使用枚舉循環索引。 – 2010-07-08 17:54:11