详细内容

Tcl-列表

时间:2025-05-10     作者:邱新龙翻译【转载】   来自:vmd手册   阅读

列表

列表是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

例如用于替换列表项以特定的索引如下。


#!/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-字符串
最新评论
请先登录才能进行回复登录
技术支持: CLOUD | 管理登录
seo seo