看板 Python 關於我們 聯絡資訊
※ 引述《deryann (星辰)》之銘言: : lstNumber = [1,2,3,4,4,4,5,6,7,7,8] : 大家會直接在lstNumber上面倒過來運作.. : 把不是偶數的delete掉.. : 還事先作一個Buffer把不是偶數的新增進去.. : 各有什麼優缺點呢? 如果 python 底層是用連續的空間來存放 list 的話(這我不確定) 自己 scan list 然後把偶數 remove 掉,可能效能會比較差一點, 因為要把後面的元素一個個往前搬。 而做一個暫存 list 把奇數一個個新增進去則是需要額外的空間, 所以真要細究的話,可能是時間與空間之爭。 但是如果資料量跟上頭的例子差不多的話, 我覺得寫起來高興就好,不用太在意這丁點差別。 我會這麼寫: [x for x in lstNumber if x & 1 == 1] 或是: filter( lambda x: x & 1 == 1, lstNumber ) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.121.3.211 ※ 編輯: zhouer 來自: 59.121.3.211 (11/01 02:37)