Tcl - 字典

字典是将值映射到键的一种安排。 传统字典的语法如下所示 −

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]

下面显示了打印所有值的示例 −

#!/usr/bin/tclsh

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

执行上述代码时,会产生以下结果 −

black white

字典中是否存在键

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

[dict exists $dictname $key]

检查字典中是否存在某个键的示例如下所示 −

#!/usr/bin/tclsh

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

执行上述代码时,会产生以下结果 −

1