List是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