1
imn1 2015-12-17 10:42:44 +08:00 1
原则,遍历时尽量不要改变原列表
应该新建列表,符合的扔过去,遍历完元列表没用就删掉,内存回收 |
3
jmc891205 2015-12-17 10:50:41 +08:00 1
|
4
imn1 2015-12-17 10:57:48 +08:00
呃,你问原理啊,没看清
没看过源代码,说不清 猜想跟 @jmc891205 说的,因为列表是可遍历对象,感觉像指针一样指示 index ,不妨用 enumerate()测试看看 PS:问原理的话,不算初级问题了,至少我这初级就不懂, 2333 |
5
baichi 2015-12-17 13:42:41 +08:00 via iPad
http://www.pythontutor.com 楼主你可能会需要这个工具
|
6
gejigeji 2015-12-17 14:15:48 +08:00
你要是在 C++这么写就会编译不过
|
7
bramblex 2015-12-17 14:26:59 +08:00
def friend(x):
----return list(filter(lambda n: len(n)!=4, x)) 就一行代码的事 |
8
zealot0630 2015-12-17 14:31:09 +08:00
[v for v in x if len(v) == 4]
PS: python 的 lambda 实在太难看了 |
10
niqzhao OP @bramblex @zealot0630 你们这太 6 了 学习了
|
11
bramblex 2015-12-17 18:10:54 +08:00
@zealot0630 那我这样玩呢?/w\
friend :: [String] -> [String] friend xs = do x <- xs if length x /= 4 then return x else mempty |
12
zhangyi2099 2015-12-17 18:22:17 +08:00 via iPhone
@bramblex 这是 Haskell ?
|
13
bramblex 2015-12-17 18:26:00 +08:00
@zhangyi2099 对啊……
|