gpt4 book ai didi

list - 返回 tcl 8.4 列表列表中重复项的索引

转载 作者:行者123 更新时间:2023-12-01 03:32:19 26 4
gpt4 key购买 nike

我有这样的列表:{ A D C } { D S D } { A S D } { Y D D }

我想列出所有在子列表的相同索引中有重复项的索引。例如,如果我想搜索子列表中索引 2 处的每个“D”,我想知道列表的索引(这里是 0 和 3)

代码如下:

proc findElement {lst idx value} {
set i 0
foreach sublist $lst {
if {[string equal [lindex $sublist $idx] $value]} {
return $i
}
incr i
}
return -1
}

当我称它为 findElement $toto 1 D

它只返回 0 !

为什么?

最佳答案

因为当 $i = 0 时找到匹配时你有一个 return 语句。

尝试下面的方法,它返回所有匹配索引的列表

proc findElement {lst idx value} {
set i 0
set return_list [list]
foreach sublist $lst {
puts "i=$i sublist=$sublist"
if {[string equal [lindex $sublist $idx] $value]} {
puts "Found $i"
lappend return_list $i
}
incr i
}
return $return_list
}

关于list - 返回 tcl 8.4 列表列表中重复项的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12248650/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com