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