1
嘿,我有我的代码有问题。下面的代码应该删除列表中的前2个,然后连接它们。因此结果答案将是1,2。在haskell中连接两个整数
first = [1,2,4,5,6,7] !! 0
second = [1,2,4,5,6,7] !! 1
newans = first ++ second
嘿,我有我的代码有问题。下面的代码应该删除列表中的前2个,然后连接它们。因此结果答案将是1,2。在haskell中连接两个整数
first = [1,2,4,5,6,7] !! 0
second = [1,2,4,5,6,7] !! 1
newans = first ++ second
不能从列表中删除元素:Haskell是声明的意义,一旦你建立一个列表a
,a
将始终与相同名单的工作。
然而,您可以构造一个新的列表,而不是前两个元素,并创建一个新的列表与前两个元素。例如:
get_remove_2 :: [a] -> ([a],[a])
get_remove_2 (a:b:cs) = ([a,b],cs)
因此,我们构建具有与[a,b]
表达的前两个元素新列表。
此函数将输入一个列表[a]
并返回一个2元组作为第一个元素列表包含两个元素:原始列表的前两个元素和第二个元素列表中前两个元素是不存在。
请注意,此功能仅适用于给定列表包含至少两个元素。否则会出错。
你是什么意思*删除*? –
我想你想'newans = [first,second]' – 4castle
'!!'只是一个索引操作符:'[1,2,3] !! 0 == 1'。 – ForceBru