Tcl 8.5, Tcl 8.4:
set somelist {{aaa 1} {bbb 2} {ccc 1}}
lsearch -index 0 $somelist bbb; # Returns either the index if found, or -1 if not
-index , : 0 aaa, bbb,... 1 1, 2, 1...
Tcl 8.4 keylget Tclx:
package require Tclx
set somelist {{aaa 1} {bbb 2} {ccc 1}}
set searchTerm "bbb"
if {[keylget somelist $searchTerm myvar]} {
puts "Found instance of $searchTerm, value is: $myvar"
}
keylget 1, , 0, . bbb (2) myvar. , keylget ($).
Update
, -index , :
package require Tcl 8.5
set users {
{john {home /users/john} {id 501} {shell bash}}
{alex {home /users/alex} {id 502} {shell csh}}
{neil {home /users/neil} {id 503} {shell zsh}}
}
set term neil
puts "Search for name=$term returns: [lsearch -index 0 $users $term]";
set term 502
puts "Search for id=$term returns: [lsearch -index {2 1} $users $term]";
set term sh
puts "Search for shell=$term returns: [lsearch -index {3 1} $users $term]";