我目前正在尝试过滤一个列表,该列表由形式(字符串,双精度(的元组组成,以查找由字符串组成的列表。如果元组不包含第二个列表的字符串,则应将其从元组列表中删除。到目前为止,我想出了这个:
test :: [ExamScore] -> String -> [ExamScore]
test a b = filter ((== b).fst) a
我目前的问题是替换由字符串列表过滤的字符串。感谢您的帮助!请放轻松,我是信息学一年级的学生,以前从未编码过。
它几乎是一样的,只是另一个使用 elem
的过滤器函数:
test a b :: [ExamScore] -> [String] -> [ExamScore]
test a b = filter ((s, _) -> elem s b) a
或者,如果您更喜欢构图风格:
test a b = filter (flip elem b . fst) a
(值得注意的是,这不是最有效的方法,因为elem
O(N)
列表,因此根据您的情况,您可能希望找到更好的结构来存储密钥。