如何在Haskell中提取zip字符串对的每个第一个字符?

lawou6xi  于 2022-12-13  发布在  其他
关注(0)|答案(2)|浏览(114)
joinString = zip "aceg" "bdfh"

压缩后变为:[('a', 'b'), ('c', 'd'), ('e', 'f'), ('g','h')]。我想从元组列表中提取出'a' , 'c', 'e''g'。我该怎么做呢?
我尝试了fst(unzip joinString),但它给了我字符串"aceg",但我希望每个字符都是单独的。

63lcw9qa

63lcw9qa1#

正如注解中所指出的,字符串 * 是字符串 *,所以你有一个误解,但也已经得到了答案。

ghci> ['a', 'b', 'c'] == "abc"
True
dsekswqp

dsekswqp2#

如果不能直接访问提供给zip的参数,可以使用map from Data.Listfst应用于压缩列表的每个元素:

ghci> map fst [('a', 'b'), ('c', 'd'), ('e', 'f'), ('g','h')]
"aceg"

正如已经指出的,"aceg" == ['a', 'c', 'e', 'g']

相关问题