gpt4 book ai didi

list - 元组搜索的 Haskell 列表

转载 作者:行者123 更新时间:2023-12-04 10:05:55 25 4
gpt4 key购买 nike

我有一个这样的元组列表:

[("username", 123), ("df", 54), ("as",2 34)]

我需要根据用户名搜索值。我使用了查找,但我需要更改整数的值并写回文件。我的逻辑是删除元组并插入另一个新的元组值而不是更改它。

知道怎么做吗?

最佳答案

使用数据 map 像这样 :

import qualified Data.Map as Map

m1 :: Map String Int
m1 = Map.fromList [("username", 123), ("df", 54), ("as",234)]

让我们将 54 替换为 78(在“df”上):
m2 = Map.insert "df" 78 m1

您可以使用 insertWith' 将旧值和新值与函数结合起来。

在这里,我们在“用户名”上插入 4,并将 4 添加到“用户名”指向的任何值。
m3 = Map.insertWith (+) "username" 4 m1

如果您确定某个键在映射中,则可以使用 (!) 运算符访问其值:
import Data.Map ((!))
m3 ! "username"

这给出了 127 .但请注意,如果键不在 map 中,它可能会引发异常!

为了安全查找:
Map.lookup :: Map k a -> k -> Maybe a
Map.lookup "usrname" m3

键上有错字,因此返回 Nothing .

关于list - 元组搜索的 Haskell 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3082571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com