Tcl 列表

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
putscolorList2
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]
putsvar

当上述代码被执行时,产生的结果如下所示:

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]
putsvar

当执行上述代码时,会产生以下结果-

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
putscolour1
puts $colour2

当上面的代码被执行时,它会产生以下结果−

orange
blue

排序列表

排序列表的语法如下所示:

lsort listname

给出下面的一个对列表进行排序的示例−

#!/usr/bin/tclsh

set var {orange blue red green}
set var [lsort var]
putsvar

在执行以上代码时,它会产生以下结果−

blue green orange red

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程