我有一个带键和值对的tcl dict,其中value是list,我想检查新值是否已经存在?

时间:2018-03-12 19:24:04

标签: dictionary tcl

set a [dict create]
set key abc
set value bb

dict set $a $key $value
Ans:- abc bb

但是当我尝试时:

dict exists $a $key bb 

它返回0.?

你能帮我找到合适的语法吗?

1 个答案:

答案 0 :(得分:1)

您想要提取列表值并使用in运算符来测试该值是否包含在列表中:

if {$value in [dict get $a $key]} {
    puts "$value is in the list"
}

更详细地说,您可以使用

if {[lsearch -exact [dict get $a $key] $value] != -1} {