列表長度與索引
- 2019 年 10 月 30 日
- 筆記
llength
藉助llength命令可獲取列表的長度(列表所包含的元素的個數,不難發現很多跟列表相關的命令都是以英文單詞l(其大寫為L)開頭的)。圖1顯示列表a的長度為3。

對於包含列表的列表(列表嵌套),如圖2所示,嵌套的部分做為子列表被當成父列表的一個元素。因此,圖2中列表的長度為3。

對於空列表,列表的長度為0。據此可判斷一個列表是否為空。

lindex
類似於C語言中的數組,列表的索引從0開始。索引0對應第一個元素,索引1對應第二元素,依此類推。同時,Tcl還提供了索引end,可快速獲取最後一個元素,這樣end-1(注意這裡沒有空格)就對應倒數第二個元素。以圖1中的列表a為例,各元素的索引如圖4所示。

通過命令lindex可獲取列表指定索引的元素,仍以圖1中的列表a為例,lindex的使用方法如圖5所示。可以看到,使用end-1時,end-1是個整體,中間沒有空格。

對於嵌套的列表,可以使用多重索引,如圖6所示,為獲取LUT2,使用了二重索引,這類似於C語言中的二維數組。但更安全的方式是使用lindex的嵌套方式。

結論
-命令llength可獲取列表長度
-空列表的長度為0
-命令lindex可獲取指定索引的列表元素