列表:创建列表

  • 2019 年 10 月 30 日
  • 笔记

列表是Tcl语言中最重要的一种数据结构。什么是列表?列表是元素的有序集合,各个元素可以包含任何字符串,例如空格,反斜杠,换行符等。列表表现为特定结构的字符串,这意味着可以把它们赋值给一个变量,可以把它们做为参数传给命令,可以把它们嵌套到其他列表中。

在Tcl中创建一个新的列表是很容易的。可通过如下几种方法。

01

直接利用花括号{}创建

如图1所示,通过花括号的方式创建列表赋给变量a,列表长度为3(可通过llength查询列表长度,后续会介绍)

图1

02

通过list命令创建

list本身就是一个Tcl命令,因此在与set一起使用时就要用到命令置换符[]。创建与图1相同的列表,采用list命令如图2所示。

图2

03

通过concat命令创建列表

concat的参数可以是任意多个列表,从而实现列表的拼接。如图3所示,利用concat命令将图1的列表a与图2的列表b拼接为新的列表赋给c。图4显示了concat拼接3个列表,其中第一个列表是空列表。

图3
图4

04

通过lrepeat命令创建列表

lrepeat命令接收两个参数,第一个参数是重复次数,第二个参数是重复值。如图5所示,lrepeat创建了一个长度为4的列表,该列表中包含4个“**”。

图5

05

创建空列表

所谓空列表是指该列表是存在的,但不包含任何值。通常创建空列表用于列表初始化。可通过{}直接创建空列表,也可通过list命令创建空列表。

结论

尽管有多种方法创建列表,但从Tcl代码风格的角度看,通过list命令创建列表是最为稳妥的方法。