计算列表中唯一元素的数量

Bry*_*yan 2 tcl

假设我有一个列表,a b c b b d e e f …我不知道里面有多少不同类型的元素。

如何计算每个唯一元素的数量并打印出来?输出看起来像:

一:32
乙:12
c: 6
…

Don*_*ows 5

你必须把它们数起来。这对于计数器数组或字典来说并不难。我将使用字典,从那时起它们将按第一次出现的顺序打印。(使用数组,您会得到一个“随机”顺序,或者您必须对它们进行排序。)

set counters {}
foreach item $list {
    dict incr counters $item
}
dict for {item count} $counters {
    puts "${item}: $count"
}
Run Code Online (Sandbox Code Playgroud)