将字符串列表转换为元组列表

时间:2019-10-18 16:25:05

标签: string list haskell tuples

因此,到目前为止,我一直在研究Haskell。我需要将字符串列表转换为包含字符串的元组列表,以便将它们分别配对。

赞:

strr = "INDUSTRIAL, PARKS,    PROPERTY"
','.join([s.strip() for s in strr.split(', ')])

进入

["String1 String 2", "String3 String4", "String5 String6"] 

我实际上还没有想象过任何代码,但是我不知道这应该如何工作,所以我真的没有什么期望,只是我可以遵循的提示。

无论如何,我试图在没有任何外部库的情况下实现它,因此链接它们并不是很有用。

谢谢您的建议!

1 个答案:

答案 0 :(得分:3)

如果您的列表中没有错字,应该简单地写为:

strToTuple :: [String] -> [(String, String)]
strToTuple = map toTuple

toTuple :: String -> (String, String)
toTuple st = joinWords $ words st

joinWords :: [a] -> (a, a)
joinWords [x, y] = (x, y)
joinWords _ = error "bad input, list should be length 2"
  

输出:

strToTuple ls
=> [("String1","String2"),("String3","String4"),("String5","String6")]
  

请注意,您的帖子使用的是“字符串2”而不是“字符串2”,我不确定这是不是一个错误,但如果是,则应该可以使用