如何将两个列表作为两个元素放入一个列表中?

时间:2015-02-06 19:43:20

标签: ocaml

我想将两个列表放入一个列表但不使用append。它会混合两个列表。我想将这两个列表作为新列表中的两个元素。新列表只有两个元素 - 第一个列表和第二个列表。

2 个答案:

答案 0 :(得分:2)

这是一种方法:

let list2 a b = [ a; b ]

这适用于同一类型的任何两个值ab。它们可以是列表或其他任何内容:

$ ocaml
        OCaml version 4.01.0

# let list2 a b = [a; b];;
val list2 : 'a -> 'a -> 'a list = <fun>
# list2 [1;2] [3;4];;
- : int list list = [[1; 2]; [3; 4]]
# list2 "yes" "no";;
- : string list = ["yes"; "no"]
#

(如果您的两个列表不是同一类型,则无法将它们放入列表中.OCaml列表是同类的 - 所有元素都具有相同的类型。)

答案 1 :(得分:0)

您可以使用功能执行此操作:

直接使用 append() 将无法获得所需的结果。请参阅包含多个列表的列表的代码段。      def foo(list1,list2): new_list =[] for i in range(0,len(list1)): new_list.append(list1[i]) for j in range(0,len(list2)): new_list.append(list2[j]) return new_list