作者timTan (用口头禅区分年记)
看板Python
标题Re: [问题] 卡了我好几小时的问题
时间Tue Apr 6 00:24:35 2010
※ 引述《takeabreak2 (小林)》之铭言:
: 为什麽
: for l in y:
: y.remove(l)
: 这样y却没有变成空的??
: P.S. y是个list
: 我初学不到一个月QQ
: 麻烦高手解惑一下,谢谢
a = range(10)
for l in a[:]:
a.remove(l)
这样就可以了:)
因为你的写法是一般的programing language 所不推荐的写法
你可能已经触及到python 内部怎麽实作 list 以及 for loop 的议题了.
所以先建议你不要改变你所 iterate 的物件的容量大小.
而我的写法 a[:], 会把 a 复制一份 ,所以不会改变a 的容量.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.137.45.222
1F:推 takeabreak2:太感谢了!!! 04/06 01:31