TCL列表

列表是Tcl的基本可用數據類型之一。它是用於表示專案的有序集合。它可以包括不同類型的在同一列表的專案。此外,一個列表可以包含另一個列表。

需要注意的一個重要的事情是,列表表示為完全串並處理在需要時,形成的各個專案。所以要避免大的列表,在這種情況下,可使用數組代替。

創建一個列表

列表的一般語法如下。

set listName { item1 item2 item3 .. itemn }
# or
set listName [list item1 item2 item3]
# or
set listName [split "items separated by a character" split_character]

一些例子如下面給出。

#!/usr/bin/tclsh

set colorList1 {red green blue}
set colorList2 [list red green blue]
set colorList3 [split "red_green_blue" _]
puts $colorList1
puts $colorList2
puts $colorList3

當上述代碼被執行時,它會產生以下結果。

red green blue
red green blue
red green blue

追加專案到列表

追加專案到列表的語法如下。

append listName split_character value
# or
lappend listName value

一些例子如下面給出。

#!/usr/bin/tclsh

set var orange
append var " " "blue"
lappend var "red"
lappend var "green"
puts $var

當上述代碼被執行時,它會產生以下結果。

orange blue red green

列表長度

列表長度的語法如下。

llength listName

例如,列表長度如下例所示。

#!/usr/bin/tclsh

set var {orange blue red green}
puts [llength $var]

當執行上面的代碼,產生以下結果:

4

列表索引項

用於選擇在指定索引的列表項如下。

lindex listname index

例如,列表索引專案如下所示。

#!/usr/bin/tclsh

set var {orange blue red green}
puts [lindex $var  1]

當執行上面的代碼,產生以下結果:

blue

插入索引專案

在列表特定索引插入專案的語法如下。

linsert listname index value1 value2..valuen

例如,在列表特定的索引插入專案如下。

#!/usr/bin/tclsh

set var {orange blue red green}
set var [linsert  $var 3 black white]
puts $var

當執行上面的代碼,產生以下結果:

orange blue red black white green

更換專案索引

用於替換列表項以特定索引的語法如下。

lreplace listname firstindex lastindex value1 value2..valuen

例如用於替換列表項以特定的索引如下。

#!/usr/bin/tclsh

set var {orange blue red green}
set var [lreplace $var 2 3 black white]
puts $var

當執行上面的代碼,產生以下結果:

orange blue black white

設置指數專案

用於設置列表項在特定索引下麵的語法給出。

lset listname index value

例如設置列表項的索引具體如下。

#!/usr/bin/tclsh

set var {orange blue red green}
lset var 0 black
puts $var

當執行上面的代碼,產生以下結果:

black blue red green

轉換列表變數

複製值到變數的語法如下。

lassign listname variable1 variable2.. variablen

例如,用於將列表到變數如下。

#!/usr/bin/tclsh

set var {orange blue red green}
lassign $var colour1 colour2
puts $colour1
puts $colour2

當執行上面的代碼,產生以下結果:

orange
blue

排序列表

排序列表的語法如下。

lsort listname

進行列表的排序如下例子。

#!/usr/bin/tclsh

set var {orange blue red green}
set var [lsort $var]
puts $var

當執行上面的代碼,產生以下結果:

blue green orange red

上一篇: TCL字串 下一篇: TCL字典