我有一个列表,像这样[['A',1),('B',2),..] 我想做一个关键值搜索。 我已经找到了查找,但它返回了一个'Maybe Int'。 那么是否有任何函数返回键的值,并返回正常的int?我如何在列表中找到一个项目然后返回它的一对?
0
A
回答
0
如果密钥不在列表中,函数应该做什么?
如果你确定,关键是在列表中,然后
import Data.Maybe
和运行结果(即可能智力)通过fromJust
。你会得到一个纯粹的Int,并且当键不在列表中时,你会得到一个异常。
1
如果密钥不在列表中,您希望它返回什么?
有一个原因,查找返回Maybe Int
而不是一个Int - 强制程序员处理失败的情况。
对付可能的简便方法是使用默认值,例如:
withDefaultValue = fromMaybe 0 (lookup key myList)
如果你是100%肯定该值在列表中,你可以使用fromJust
result = fromJust (lookup key myList)
如果列表中可能不包含该项目,但无法处理该函数中的代码失败,请将函数Maybe
从函数中传递出去,直到它到达可处理失败的代码部分。
相关问题
- 1. 在另一个数组找到项目,然后从阵列
- 2. 如何下一个(),直到没有其他项目,然后返回到原始状态的列出的项目
- 3. 返回返回最后一个项目
- 4. 如何从列表中返回一个或多个项目?
- 5. 在特定的列表视图列中找到项目,然后选择它
- 6. 检查,如果项目是在列表中,然后返回该项目
- 7. 序言 - 如何返回一个列表中找到的元素
- 8. 提取一列然后在一个大的分隔文件中找到它的uniq项目的最快方法
- 9. 如果不在另一个列表中返回项目
- 10. 找到一个列表的任何项目的最后一次出现在另一个列表在python
- 11. 输入一个函数,它返回一个列表到R中
- 12. 如何将列表拆分为知道大小的块,然后找到一个项目?我是新来的c#
- 13. 如何返回一个函数,然后再调用它?
- 14. 在一个类中存储char数组然后返回它
- 15. 如果FirstOrDefault返回null,则返回列表中的第一个项目
- 16. Python:从列表中删除一个项目,但返回一个新列表
- 17. Loop只返回最后一个项目
- 18. 如何在它返回后删除一个对象? C++
- 19. 如何将项目添加到队列中,然后开始一个接一个地发送它们?
- 20. 修改列表的一部分,然后返回更新列表
- 21. 我可以添加一个条目到mysql并返回一列,如果它不存在于一个查询中?
- 22. HTML jQuery的举动从列表框中的项目到另一个列表框,然后移动项目上下
- 23. 其中包含的项目LINQ返回列表中找到
- 24. 如何返回locals(),然后在另一个函数中重新定义它们?
- 25. 打开一个新的布局,然后返回到上一个
- 26. 如何找到一个html元素,然后删除它?
- 27. grunt一个角度项目然后它错误,因为找不到模块
- 28. 我如何查找,然后有一个回调函数
- 29. 我的项目期望在bin中有一个dll,但它找不到它
- 30. 查找最后一列,然后找到该列中的最后一行
当查询中不存在密钥时,您希望发生什么? – 31eee384