haskell:将两个数组合并为一个数据数组

haskell:将两个数组合并为一个数据数组,haskell,Haskell,请你帮我做以下事情好吗 我有两个数组,我需要合并成一个数据数组。下面的代码进行合并,但它创建了一个笛卡尔坐标系 我希望有以下关于输出的信息: DataXY {var1 = "x1", var2 = "y1"}, DataXY {var1 = "x2", var2 = "y2"}, DataXY {var1 = "x3", var2 = "y3"} ---代码 data DataXY=DataXY{ var1::字符串, var2::String }推导(等式,显示) 解析::[DataXY]

请你帮我做以下事情好吗

我有两个数组,我需要合并成一个数据数组。下面的代码进行合并,但它创建了一个笛卡尔坐标系

我希望有以下关于输出的信息:

DataXY {var1 = "x1", var2 = "y1"},
DataXY {var1 = "x2", var2 = "y2"},
DataXY {var1 = "x3", var2 = "y3"}
---代码

data DataXY=DataXY{
var1::字符串,
var2::String
}推导(等式,显示)
解析::[DataXY]
parse=x
哪里

x=[DataXY v1 v2 | v1
zipWith
是您在这里想要的

parse :: [DataXY]
parse = zipWith DataXY arr1 arr2
   where arr1 = ["x1", "x2", "x3"]
         arr2 = ["y1", "y2", "y3"]

zipWith
是您在这里想要的

parse :: [DataXY]
parse = zipWith DataXY arr1 arr2
   where arr1 = ["x1", "x2", "x3"]
         arr2 = ["y1", "y2", "y3"]

压缩两个列表以避免笛卡尔积:

parse ::  [DataXY]
parse = x
    where
        x = [DataXY v1 v2 | (v1,v2)  <- zip arr1 arr2]
            where
                arr1 = ["x1", "x2", "x3"]
                arr2 = ["y1", "y2", "y3"]
parse::[DataXY]
parse=x
哪里

x=[DataXY v1 v2 |(v1,v2)压缩两个列表以避免笛卡尔积:

parse ::  [DataXY]
parse = x
    where
        x = [DataXY v1 v2 | (v1,v2)  <- zip arr1 arr2]
            where
                arr1 = ["x1", "x2", "x3"]
                arr2 = ["y1", "y2", "y3"]
parse::[DataXY]
parse=x
哪里
x=[DataXY v1 v2 |(v1,v2)