joinString = zip "aceg" "bdfh"
压缩后变为:[('a', 'b'), ('c', 'd'), ('e', 'f'), ('g','h')]。我想从元组列表中提取出'a' , 'c', 'e'和'g'。我该怎么做呢?我尝试了fst(unzip joinString),但它给了我字符串"aceg",但我希望每个字符都是单独的。
[('a', 'b'), ('c', 'd'), ('e', 'f'), ('g','h')]
'a' , 'c', 'e'
'g'
fst(unzip joinString)
"aceg"
63lcw9qa1#
正如注解中所指出的,字符串 * 是字符串 *,所以你有一个误解,但也已经得到了答案。
ghci> ['a', 'b', 'c'] == "abc" True
dsekswqp2#
如果不能直接访问提供给zip的参数,可以使用map from Data.List将fst应用于压缩列表的每个元素:
zip
Data.List
fst
ghci> map fst [('a', 'b'), ('c', 'd'), ('e', 'f'), ('g','h')] "aceg"
正如已经指出的,"aceg" == ['a', 'c', 'e', 'g']。
"aceg" == ['a', 'c', 'e', 'g']
2条答案
按热度按时间63lcw9qa1#
正如注解中所指出的,字符串 * 是字符串 *,所以你有一个误解,但也已经得到了答案。
dsekswqp2#
如果不能直接访问提供给
zip
的参数,可以使用map fromData.List
将fst
应用于压缩列表的每个元素:正如已经指出的,
"aceg" == ['a', 'c', 'e', 'g']
。