查看: 2007|回复: 0

TCL学习笔记(四)——列表&字典

[复制链接]

该用户从未签到

发表于 2012-8-28 11:11:54 | 显示全部楼层 |阅读模式
分享到:
本帖最后由 i电子 于 2012-8-28 11:18 编辑

列表:列表与数组类似,是将任意数量的元素集合起来,但是它是元素的有序集合,最简单的列表就是包含由任意个空格、制表符、换行符分隔开得任意多个元素的字符串。如字符串:{ Altera    Xilinx        Lattice      Cadence},这就是一个有4个元素的列表,下面介绍几个关于列表的命令:
         lindex:这个命令的作用是返回列表中的元素,至少需要两个参数:一个列表list和一个索引值index,如图1所示,其中索引值index0开始,因此返回的是列表中的index+1个元素,第一条命令中返回第3个元素,而第二条命令返回第5个元素超出了列表范围,因此返回值为空。
1.jpeg
1
在列表中还可以嵌套,即列表中的元素可以是一个列表,称为子列表,如{{a b c} {d e} f},其中嵌入了两个子列表{a b c}{d e}
         listconcatlrepeat:这三个都是创建列表的命令,它们都接受任意多个参数,返回结果都是一个列表,不同之处在于把参数组成列表的方式。如图2所示,list命令对于每个参数作为列表中一个独立的元素;concat命令将所有参数中的所有元素串接成一个大的列表;lrepeat则是重复一个元素集合来创建列表。
2.jpg
2
         字典:在列表中想要取出一个元素,需要知道该元素在列表中的索引,如果不知道索引那该怎么办呢?TCL给出了一个解决方案,就是字典。字典是TCL8.5版本才引进的数据类型,它为列表中的每个元素指定了一个独有的名字。那有些人会问,它跟数组有什么区别呢,数组也有数组名啊!其实字典跟数组有一些根本性的不同,数组是变量的无序集合,而字典是元素值的有序集合,并且还支持嵌套。
         字典是类似于有偶数个元素的列表的一种结构,其第135 …… 个元素表示元素名称,并且都不相同。如图3所示,其中AgateLogicAlteraXilinx为字典的三个值,而字典中的第135个元素AstroStratixVirtex分别为三个值的名称,每一个名称都映射到其后面的那个值,通过dict get命令可以根据名称在字典中查找对应的值。
3.jpg
3

回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条



手机版|小黑屋|与非网

GMT+8, 2024-4-20 20:27 , Processed in 0.107777 second(s), 16 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.