Tcl - 字典(Dictionary)

Tcl - 字典(Dictionary) 首页 / Tcl/Tk入门教程 / Tcl - 字典(Dictionary)

字典(Dictionary) 是一种键值对(Key/Value)存储结构。语法如下所示-

dict set dictname key value
# or 
dict create dictname key1 value1 key2 value2 .. keyn valuen

创建字典的一些示例如下所示-

#!/usr/bin/tclsh

dict set colours  colour1 red 
puts $colours
dict set colours  colour2 green
puts $colours

set colours [dict create colour1 "black" colour2 "white"]
puts $colours

执行以上代码后,将产生以下输出-

colour1 red
colour1 red colour2 green
colour1 black colour2 white

字典大小

获取字典大小的语法如下所示-

[dict size dictname]

下面显示了打印尺寸的示例-

#!/usr/bin/tclsh

set colours [dict create colour1 "black" colour2 "white"]
puts [dict size $colours]

执行以上代码后,将产生以下输出-

2

字典迭代

下面显示了用于打印键和字典值的简单字典迭代-

#!/usr/bin/tclsh

set colours [dict create colour1 "black" colour2 "white"]
foreach item [dict keys $colours] {
   set value [dict get $colours $item]
   puts $value
}

执行以上代码后,将产生以下输出-

black
white

根据键获取值

检索dict中的key值的语法如下所示-

[dict get $dictname $keyname]

下面给出了检索键值的示例-

无涯教程网

#!/usr/bin/tclsh

set colours [dict create colour1 "black" colour2 "white"]
set value [dict get $colours colour1]
puts $value

执行以上代码后,将产生以下输出-

black

获取所有键

检索dict中所有键的语法如下所示-

[dict keys $dictname]

打印所有键的示例如下所示-

#!/usr/bin/tclsh

set colours [dict create colour1 "black" colour2 "white"]
set keys [dict keys $colours]
puts $keys

执行以上代码后,将产生以下输出-

colour1 colour2

获取所有值

检索dict中所有值的语法如下所示-

[dict values $dictname]

打印所有值的示例如下所示-

链接:https://www.learnfk.comhttps://www.learnfk.com/tcl-tk/tcl-dictionary.html

来源:LearnFk无涯教程网

#!/usr/bin/tclsh

set colours [dict create colour1 "black" colour2 "white"]
set values [dict values $colours]
puts $values

执行以上代码后,将产生以下输出-

black white

判断键是否存在

检查字典中是否存在键的语法如下所示-

[dict exists $dictname $key]

下面显示了一个检查dict中是否存在键的示例-

#!/usr/bin/tclsh

set colours [dict create colour1 "black" colour2 "white"]
set result [dict exists $colours colour1]
puts $result

执行以上代码后,将产生以下输出-

1

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

编辑训练营 -〔总编室〕

Netty源码剖析与实战 -〔傅健〕

人人都用得上的写作课 -〔涵柏〕

编程高手必学的内存知识 -〔海纳〕

深入C语言和程序运行原理 -〔于航〕

Web 3.0入局攻略 -〔郭大治〕

AI大模型之美 -〔徐文浩〕

深入拆解消息队列47讲 -〔许文强〕

结构思考力 · 透过结构看问题解决 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)