String 将包含元组的列表转换为格式化字符串

String 将包含元组的列表转换为格式化字符串,string,list,haskell,tuples,String,List,Haskell,Tuples,我有[(Double,Double)]返回的列表,我想格式化它并像字符串那样返回它 "(Double, Double)" 值必须转换为上述行中提到的字符串,即Double 如果列表中有多个值,则应将其格式化为: "(Double, Double), (Double, Double), ..., (Double, Double)" 您可以使用列表的本机Show实例: showPairSequence :: [(Double, Double)] -> String showPairSequ

我有
[(Double,Double)]
返回的列表,我想格式化它并像
字符串那样返回它

"(Double, Double)"
值必须转换为上述行中提到的字符串,即
Double

如果列表中有多个值,则应将其格式化为:

"(Double, Double), (Double, Double), ..., (Double, Double)"

您可以使用列表的本机
Show
实例:

showPairSequence :: [(Double, Double)] -> String
showPairSequence = init . tail . show

如果确实要打印
Double
s的特定值,则
efie
给出了正确答案。但是,如果您只想显示字符串
“Double”
,则可以使用以下答案:

format = intercalate ", " . map (const "(Double, Double)")

如果列表包含多个元组,会发生什么情况?您可能正在查找
f xs=map show xs
,但是如果没有更多信息,很难判断。你能用你期望的输入和输出的例子来编辑你的文章吗?例如,您希望输入
[(1.0,2.0),(3.5,4.5)]
的输出是什么?如果列表中有更多的元组,我希望
“(Double,Double),(Double,Double),…”
。只需使用列表上的show函数。
init。尾部
?也许
showPairSequence=show
会更好?@БММММППЙМААЛСБССССb原始海报不想要“[”或“]”只有一个建议:使用
插入
,它结合了
concat
穿插
format = intercalate ", " . map (const "(Double, Double)")