作者zhouer ( )
看板Python
标题Re: 有关Delete一个List里面的偶数~
时间Wed Nov 1 02:33:22 2006
※ 引述《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)