2017-05-06 70 views
0

我有這樣的代碼:如何從列表的第一個和最後一個項目Haskell中創建一個新列表?

fnl list = [x | x <- list, x==list!!((length list)-1)] 

這給了我一個數組的最後一個項目。我怎樣才能改善這一點,以獲得第一個項目呢?

+10

爲什麼不只是'fnl list = [head list,last list]'? – Michail

+5

請注意,您正在使用列表,而不是數組。 – duplode

+1

@Michail這是一個答案,只要你添加一些額外的解釋。 – Zeta

回答

0

最簡單的解決辦法是

fnl list = [head list, last list] 

head給你一個列表的第一個元素,last給出了最後一個。這樣可以避免將兩個索引都加入到列表中(通常應該避免這種情況,尤其是如果您可以選擇使用Prelude函數,就像在這種情況下一樣)並獲取它的長度。

相關問題