看板 Python 關於我們 聯絡資訊
請愛用 filter 聽說比較快 XD >>> a = ['a','b','c','d','x/'] >>> b = [i for i in a if '/' in i] >>> print b ['x/'] 至於為什麼只跑一半,之前的回文已經講很清楚了 ※ 引述《sean72 (.)》之銘言: : #Python 3.3 : a = ['a','b','c','d','x/'] : for i in a: : if '/' not in i: : a.remove(i) : print(a) : 預期輸出: ['x/'] : 實際輸出: ['b', 'd', 'x/'] : 為什麼 b 和 d 兩個元素無法被濾掉? : 雖然可以反向繞路 但還是非常疑惑 : tmp = [] : for i in a: : if '/' in i: : tmp.append(i) : print(tmp) : 感謝幫忙 -- Time waits for no one. ↑ (。A。)ハァ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.170.142.230
qsort:正確來說, 應該是List Comprehensions, not filter. 08/28 14:43
qsort:5.1.4. List Comprehensions 08/28 14:44
qsort:5.1.3. Functional Programming Tools (filter) 08/28 14:45
qsort:http://docs.python.org/2/tutorial/ 08/28 14:45