如何在haskell中从元组的所有第二个元素中创建一个列表

Rou*_*uge -3 haskell tuples

我有一个像 [(1,"A"),(2,"B"),(3,"C")] 这样的元组列表

现在我想用这些元组的所有第二个元素创建一个列表,所以列表应该是 ["A","B","C"]

任何人都可以帮助解决这个问题吗?

bra*_*drn 5

你可以通过运行来做到这一点map snd [(1,"A"),(2,"B"),(3,"C")]。该map函数被定义为将作为其第二个参数给出的函数应用于作为其第三个参数给出的列表中的每个元素;该snd函数获取元组的第二个元素。

或者,如果您更喜欢列表推导式,您可以这样做[x | (_, x) <- [(1,"A"),(2,"B"),(3,"C")]];这获取列表的每个元素,将其与模式匹配(_, x)(将每个元组的第二个元素分配给x),然后返回每个x.