1. 程式人生 > >初識Tcl(九):Tcl 字典

初識Tcl(九):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 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