在Haskell中获取字符串列表的跨度索引可以通过以下步骤实现:
zip
函数将字符串列表与其索引列表进行配对。索引列表可以使用[0..]
生成,表示从0开始的无限整数列表。map
函数将每个配对的元素转换为一个二元组,其中第一个元素是字符串的索引,第二个元素是字符串本身。span
函数将二元组列表分成两部分,第一部分包含满足特定条件的元素,第二部分包含剩余的元素。在这里,我们可以使用(\(_, str) -> str /= "")
作为条件,以排除空字符串。map
函数提取第一部分中的索引,形成一个整数列表作为结果。以下是一个示例代码:
import Data.List (span)
getSpanIndices :: [String] -> [Int]
getSpanIndices strs = map fst $ span (\(_, str) -> str /= "") $ zip [0..] strs
这个函数接受一个字符串列表作为输入,并返回一个整数列表,其中包含非空字符串的索引。
在Haskell中,可以使用getSpanIndices
函数来获取字符串列表的跨度索引。例如:
strList = ["", "Hello", "", "World", ""]
indices = getSpanIndices strList
输出结果为[1,3]
,表示非空字符串的索引为1和3。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云