SML:从列表中获取元素

时间:2011-12-18 22:28:11

标签: list sml

关于标准ML(SML)的问题。 是否可以通过使用行和列索引从列表中获取元素?像这样:

myList = [(1,9,3),(3,5,5),(7,0,1)]
myList[1,2] // 1st row 2nd column => in this case 9

1 个答案:

答案 0 :(得分:2)

我不认为用“行”和“列”来思考是一个好主意,但是,是的,你可以通过写这个来做你所描述的:

#2 (List.nth (myList, 0))    (* 0th element, component #2 -- in this case 9 *)

List.nththe Standard ML Basis Library的一部分;它从'a list * int映射到'a。在这种情况下,List.nth (myList, 0)(1,9,3)。 (请注意,它使用从零开始的索引。)#2是语言的内置部分,指的是记录的2标记组件(例如,在本例中,元组的第二个组成部分。)