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. 过滤元组的列表
- 2. Scala过滤元组列表
- 3. 过滤元组的列表的列表
- 4. 阶过滤元组的列表
- 5. 过滤在python元组的列表
- 6. 过滤来自另一个元组列表的元组的RDD
- 7. 通过最大元素过滤元组列表
- 8. 过滤元组
- 9. 在列表中列表中过滤元组
- 10. Scala过滤元组列表中元素的条件总和
- 11. 过滤的元组
- 12. django过滤器:可以过滤元组?
- 13. 列表过滤
- 14. 列表过滤
- 15. 过滤列表
- 16. 过滤列表
- 17. 过滤一元值的无限列表
- 18. 从列表中过滤元素
- 19. 来自列表的过滤器单元
- 20. 循环过滤列表并将元素附加到数组
- 21. 过滤元组列表 - 更好的可读性
- 22. 过滤我自己的类型列表 - 元组?
- 23. 过滤元组的列表,以包含最大和最小
- 24. 过滤列表反应的组分
- 25. 使用数组项目过滤列表
- 26. 按年龄过滤数组列表?
- 27. 过滤字典+元组
- 28. 过滤Python的元组
- 29. 按元素过滤数组
- 30. 有效地从第二列表(元组)过滤对于一个Python列表值
这很好,谢谢。想知道那些。在所有示例代码中做了些什么! – Zippy 2009-10-24 16:59:12
我认为'''和'$'之间的用法(和区别)是开始Haskell最常见的障碍之一 - 所以不用担心,你不是唯一遇到麻烦的人! – 2009-10-24 17:05:15