Q
過濾元組列表
7
A
回答
19
在Haskell中,不能像遍歷列表一樣遍歷一個元組。
如果該元組只有兩個項目,則可以使用fst
檢索元組的第一個項目並使用snd
檢索第二個項目。做什麼,我覺得你想要做
一種方法是這樣的方法:
Prelude> let lst = [(1,2), (3,4)]
Prelude> filter ((==1).fst) lst
[(1,2)]
其中僅將列表中的第一個元素等於1項;當然,您也可以替換x
這裏我把1
要成爲一個更具體一點,(==1).fst
首先應用fst
在善堂的元素,然後應用到(==1)
的fst
結果 - 技術上,點組成這兩個功能在一起。
5
您不能在其中通配符_
與==
運算符(或任何其他函數)發生爭執。爭論必須是一種真正的價值,而不是一種應該與之相匹配的模式。
如果你想使用模式匹配,你可以使用lambda函數,你filter
條件:
filter (\(a,_) -> a == x) lis
此外,還有預定義功能fst
提取兩個元素的元組的第一個元素。這可以結合==
做相同的測試:
filter ((== x) . fst)) lis
相關問題
- 1. Scala過濾元組列表
- 2. 過濾元組的列表
- 3. 過濾元組的列表的列表
- 4. 過濾來自另一個元組列表的元組的RDD
- 5. 過濾元組
- 6. 過濾列表
- 7. 過濾列表
- 8. 列表過濾
- 9. 過濾一元值的無限列表
- 10. 過濾我自己的類型列表 - 元組?
- 11. 循環過濾列表並將元素附加到數組
- 12. 過濾元組列表 - 更好的可讀性
- 13. 過濾列表反應的組分
- 14. 按元素過濾數組
- 15. 過濾Python的元組
- 16. 過濾字典+元組
- 17. 有效地從第二列表(元組)過濾對於一個Python列表值
- 18. WPF列表過濾
- 19. 過濾列表Haskell
- 20. 過濾列表框
- 21. 過濾掉列表
- 22. 過濾器列表
- 23. Python:按列表元素操作過濾大列表
- 24. 過濾列表序列
- 25. 列表理解表過濾
- 26. 按每個元素的類型過濾列表的元素
- 27. 如何過濾元組元組中的第二個元素?
- 28. 從列表中過濾掉空列表
- 29. 通過文本框從列表框中過濾元素
- 30. 通過Python中的列表元素過濾csv內容
這很好,謝謝。想知道那些。在所有示例代碼中做了些什麼! – Zippy 2009-10-24 16:59:12
我認爲'''和'$'之間的用法(和區別)是開始Haskell最常見的障礙之一 - 所以不用擔心,你不是唯一遇到麻煩的人! – 2009-10-24 17:05:15