close
python 的 list 有支援 remove
會讓人很直覺的,想要在 for x in list 裡,把符合的東西清光。
真的可以這樣嗎?
我後來發現了問題
你可以試著跑看看以下的程式
我只是想要把[1,2,3,4,5,6,7,8,9]比 4 小的元素去掉,
結果,搞得很複雜的樣子。
這是個 bug 嗎?
 
a = [1,2,3,4,5,6,7,8,9]
for i in a:
    if i < 4:
        del a[i]
   
print a
a = [1,2,3,4,5,6,7,8,9]
for i in a:
    if i < 4:
        a.remove(i)
   
print a
a = [1,2,3,4,5,6,7,8,9]
b = []
for i in a:
    if i < 4:
        b.append(i)
for i in b:
    a.remove(i)
   
print a
 
結果是
[1, 3, 4, 6, 7, 8, 9]
[2, 4, 5, 6, 7, 8, 9]
[4, 5, 6, 7, 8, 9]
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 betaparticle 的頭像
    betaparticle

    betaparticle的部落格

    betaparticle 發表在 痞客邦 留言(1) 人氣()