gpt4 book ai didi

list - 过滤我自己类型的列表 - 元组?

转载 作者:行者123 更新时间:2023-12-01 08:17:49 28 4
gpt4 key购买 nike

如何通过元组中的第三项过滤此类型的列表:

type Car = (String, [String], Int [String])

我看到了 sndfst方法,但在这里我认为这行不通,我不确定如何在不使用 '_' 的情况下进行映射。通配符。

最佳答案

没有任何预定义的函数,如 fstsnd对于具有两个以上元素的元组。正如您所说,您可以使用模式匹配和通配符 _做这项工作。

 cars = [ ("Foo", ["x", "y"], 2009, ["ab", "cd"]
, ("Bar", ["z"], 1997, [])
]

newCars = filter condition cars
where condition (_, _, n, _) = n > 2005

但是,这通常表明您应该从使用元组更改为记录类型。
 data Car = Car { model :: String
, foo :: [String]
, year :: Int
, bar :: [String]
}

cars = [ Car "Foo" ["x", "y"] 2009 ["ab", "cd"]
, Car "Bar" ["z"] 1997 []
]

现在,您可以使用 model , foo , yearbar就像你会使用 fstsnd在元组上。
 newCars = filter ((> 2005) . year) cars

关于list - 过滤我自己类型的列表 - 元组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5947956/

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