如何从haskell中的int列表和字符串列表生成字符串列表

如何从haskell中的int列表和字符串列表生成字符串列表,haskell,Haskell,比如说, numbers = [4,3,1] floors = ["Dto","Esq","Cent"] 产出将是: ["Dto","Dto","Dto","Dto","Esq","Esq","Esq","Cent"] 您可以使用复制函数,其形式为Int->a->[a] 例如

比如说,

numbers = [4,3,1]
floors = ["Dto","Esq","Cent"]
产出将是:

["Dto","Dto","Dto","Dto","Esq","Esq","Esq","Cent"]
您可以使用复制函数,其形式为Int->a->[a]

例如:复制4DTO=[Dto,Dto,Dto,Dto]

接下来,您可以使用zipWith,其形式为a->b->c->[a]->[b]->[c]。本质上是将这两个列表与replicate函数相结合

例如:zipWith replicate number floors=[[Dto,Dto,Dto,Dto],[Esq,Esq,Esq],[Cent]]

最后,您可以将结果合并在一起以获得最终输出

numbers = [4, 3, 1]
floors = ["Dto", "Esq", "Cent"]

function :: [Int] -> [String] -> [String]
function nums strs = concat (zipWith replicate nums strs)