初识Tcl(九):Tcl 字典

举报
李锐博恩 发表于 2021/07/15 03:19:01 2021/07/15
【摘要】 词典是用于值映射到键的布置。常规字典的语法如下所示。 dict set dictname key value # or dict create dictname key1 value1 key2 value2 .. keyn valuen 用于创建字典的一些例子如下所示。 #!/usr/bin/tclsh dict set colours colour1 red...

词典是用于值映射到键的布置。常规字典的语法如下所示。

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 get $dictname $keyname]

用于键检索值的示例如下面给出。

#!/usr/bin/tclsh

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

当执行上面的代码,产生以下结果:

black

字典中的所有键

用于检索在字典的所有键的语法如下所示。

[dict keys $dictname]

用于打印所有的键一个例子如下所示。

#!/usr/bin/tclsh

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

当执行上面的代码,产生以下结果:

colour1 colour2

字典中的所有值

用于检索在字典中的所有值的语法如下所示。

[dict values $dictname]

用于打印的所有值一个例子如下所示。

#!/usr/bin/tclsh

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

当执行上面的代码,产生以下结果:

black white

关键存在于字典

检查一个键是否存在于字典的语法如下所示。

[dict values $dictname]

用于检查一个键是否存在于字典的一个例子如下所示。

#!/usr/bin/tclsh

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

当执行上面的代码,产生以下结果:

1

文章来源: reborn.blog.csdn.net,作者:李锐博恩,版权归原作者所有,如需转载,请联系作者。

原文链接:reborn.blog.csdn.net/article/details/85201955

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。