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  //在index前面插入

例如,在列表特定的索引插入项目如下:

#!/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
//包括firstindex和lastindex

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

#!/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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值