看二郎文档: http://www.erlang.org/doc/efficiency_guide/listHandling.html
至于说有 - 添加元素列表的尾部是低效的,因为它会导致新的列表创建。
如果您需要将元素添加到列表尾部,更好的方法可能是:以相反的顺序创建列表。和在结束只是调用函数列表:在该实施例中反向/ 1
查找:
18> S1 = "String1".
"String1"
19> S2 = "String2".
"String2"
20> S3 = "String3".
"String3"
21> S4 = "String4".
"String4"
22> L1 = [ S2, S1 ].
["String2","String1"]
23> L2 = [ S3 | L1 ].
["String3","String2","String1"]
24> L3 = [ S4 | L2 ].
["String4","String3","String2","String1"]
25> L4 = lists:reverse(L3).
["String1","String2","String3","String4"]
它是在存储器使用效率比这一个:
34> S1 = "String1".
"String1"
35> S2 = "String2".
"String2"
36> S3 = "String3".
"String3"
37> S4 = "String4".
"String4"
38> L1 = [ S1, S2 ].
["String1","String2"]
39> L2 = L1 ++ [ S3 ].
["String1","String2","String3"]
40> L3 = L2 ++ [ S4 ].
["String1","String2","String3","String4"]
(使用“+ +'相当于列表:append)。
在第一个示例中 - 仅创建了2个列表实例。并在第二 - 3例。在更大的示例结果应该是2列表实例与N-1实例
为什么你想列出解析? – 2012-08-06 14:20:34