tcl dictionary

tcl dictionary

1. 创建字典——set/create

  • dict create key1 value1 ... keyn valuen [multi keys/values]
  • dict set dict_name key value [single key/value]
  • dict set/create live demo

2. 获取字典key的value——get

3. 字典key是否存在——exists

4. 字典键值对数——size

5. 获取字典键/值——keys/value

6. 字典key值追加字符串——append

7. 获取除指定key外的键值——remove

8. 删除字典键值对——unset

9. 字典整合——merge

10. 字典value加减操作——incr

11. 字典键值替换——replace

12. 字典键值过滤——filter

  • dict filter dict_name key patterm
  • dict filter dict_name value pattern
  • dict filter dict_name script
  • dict filter live demo

Appendix

1. dict set/create

# tcl dictionary

# dict set command
# dict set每次设置一对键值,多次对同一个字典设置,形成多对键值

dict set my_dict1 a 1

puts $my_dict1

dict set my_dict1 b 2

puts $my_dict1

# dict create command
# dict creat keyn valuen,没有dict_name,配合set dict_name [dict create key1 value1 ... keyn valuen]

set my_dict2 [dict create name1 "SQ" name2 "KingR" name3 "Sinri"]

puts [dict get $my_dict2 name1]

2. dict get

# dict get command, key name不需要加$符号

set my_dict {a 1 b 2 c 3 d 4 e 5}

puts [dict get $my_dict a]
puts [dict get $my_dict c]
puts [dict get $my_dict e]

3. dict exists

# dict exists command, key name不需要加$符号

set my_dict {a 1 b 2 c 3 d 4 e 5}

puts [dict exists $my_dict a]
puts [dict exists $my_dict f]

4. dict size

# dict size command

set my_dict {a 1 b 2 c 3 d 4 e 5}

puts [dict size $my_dict]

5. dict keys/value

# dict keys/value command

set my_dict [dict create name1 SQ name2 KingR name3 Lisa]

puts $my_dict

puts "my_dict keys are: [dict keys $my_dict]"

puts "my_dict value are: [dict value $my_dict]"

6. dict append

# dict append dict_name key string

set mydict [dict create name1 SQ name2 Lisa name3 Sirin name4 Coco]

puts $mydict

# single key/value pair

dict append mydict name1 " Chuang"

puts [dict get $mydict name1]

7. dict remove

# dict remove dict_name keys usage

set mydict {SQ 1 Lisa 2 Lina 3 Sirin 4}

# dict keys
puts [dict keys $mydict]

# dict values
puts [dict value $mydict]

# remove specific key
puts [dict remove $mydict SQ]

# original dict
puts $mydict

8. dict unset

# dict unset dict_name keys usage

set mydict {SQ 1 Lisa 2 Lina 3 Sirin 4}

# dict keys
puts [dict keys $mydict]

# dict values
puts [dict value $mydict]

# remove specific key
puts [dict unset mydict Lisa]

# original dict
puts $mydict

9. dict merge

# dict merge dict1 dict2

set mydict1 {SQ 1 Lisa 2 Lina 3 Sirin 4}

set mydict2 {bk1 economist bk2 news bk3 GQ}

puts [dict merge $mydict1 $mydict2]

10. dict incr

# dict incr dict_name key usage

set mydict {a 1 b 2 c 3}

puts [dict incr mydict a 5]
puts [dict incr mydict b 4]
puts [dict incr mydict c 3]

11. dict replace

# dict replace dict_name key value

set mydict {a 1 b 2 c 3}

puts [dict replace $mydict a 6]

puts [dict replace $mydict d 4]

12. dict filter

# dict filter usage

set mydict {anny 1 bon 2 cidy 3 amani 4 beyond 5 canthy 6}

# key filter
puts [dict filter $mydict key a*]

# value filter
puts [dict filter $mydict value 4]

# script solution
puts [dict filter $mydict script {var1 var2} {expr {$var2 > 3}}]

puts [dict filter $mydict script {var1 var2} {expr {$var1 eq "anny"}}]

image-20220818064716003

posted @ 2022-08-17 06:39  MOVIT  阅读(466)  评论(0)    收藏  举报