【发布时间】:2022-12-03 05:26:48
【问题描述】:
我有两个等长的 Tcl 列表,u 和 v。 u 中的许多条目已知是相同的。对于 u 中的每个唯一条目,我想对 v 中的相应条目进行平均。所以,如果我的列表是{1 2 1 2}和{1 2 3 4},输出应该是{1 2}(只有u中唯一的条目)和{2 3},其中2个来自(1+3)/2,3个来自@ 987654332@。
我尝试了以下方法:
set unique [lsort -unique $u]
foreach i $unique {
set ave 0; set N 0
foreach j $u k $v {
if {$i == $j} {set ave [expr {$ave+$k}]}
}
lappend w [expr {$ave/$N}]
}
这可行,但对于较大的列表来说太慢了。有谁知道更有效的方法吗?
提前致谢!
【问题讨论】:
标签: tcl