簡體   English   中英

Erlang 列表:展平嵌套列表

[英]Erlang Lists: Flatten a nested list

給定 erlang 列表是L = [[ [], [1,3], [4,5] ]]. Output 預期為[[1,3], [4,5]]

我嘗試使用lists:flatten/1但它返回扁平列表為[1,3,4,5]

這個問題是模棱兩可的,因為它並沒有真正告訴我們需要如何進行扁平化。 僅從您的輸入/輸出示例來看,您似乎只想展平一個級別並忽略空列表。 這可以通過以下方式實現:

1> lists:filter(fun (X) -> X /= [] end, lists:append([[ [], [1,3], [4,5] ]])).
[[1,3],[4,5]]

但人們也可以想象其他符合這些標准的扁平化。 希望這能讓你開始!

不,展平 function 返回一個包含非列表元素的列表,它消除了輸入列表中的所有列表。 如果您使用了有效的算法,則不需要展平任何列表,因此創建列表的最佳方法是在列表的頭部添加元素並盡量不要使用++--運算符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM