dictionary - 当有值时,我可以在 tcl dict 中查找一个键吗?反向查找

标签 dictionary tcl lookup

我有一个包含键及其值的 tcl 字典。有没有办法进行“反向查找”,例如查找值并检索 key 。 我知道这听起来不像是最先进的编程方式,但是我的代码中已经存在字典,我不想仅仅因为这一次我需要它而以另一种方式重新创建它。

最佳答案

您可以使用 dict filter 命令。值可以重复,因此您应该期望有多个键。

set d [dict create a b c d e b]
# note that the "b" value is repeated for keys "a" and "e"

dict filter $d value b
-> a b e b

所以你可以这样使用:

set lookupVal b
dict for {k v} [dict filter $d value $lookupVal] {
    lappend keys $k
}

puts $keys
-> a e

关于dictionary - 当有值时,我可以在 tcl dict 中查找一个键吗?反向查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20542205/

相关文章:

loops - range 子句针对 map 等不同的数据结构类型返回哪些不同的变量?

c# - 理解字典,使用c#向字典添加新值

linux - grep 上的 Tcl exec 返回 "grep: nothing to repeat",而正常的 LINUX 给出正确答案

Tcl内存管理

database - 如何使用数据库数据(VCL)快速填充组合框

mongodb - $aggregation 和 $lookup 在同一个集合中 - mongodb

swift - 我怎样才能清除我的词典数据。它存储数据并每次返回相同的消息

Python 字典吃掉了 ram

list - 在 tcl 中拆分列表后出现杂散字符

c - 针对动态/静态/增量数据的专用哈希表算法