lindex(n)
β¨ NAME β¨
okay bestie, welcome to the lindex(n) page from Tcl Built-In Commands β and yes, it's giving list element retrieval. lindex β retrieve an element from a list. periodt. π
πΈ SYNOPSIS πΈ
lindex list ?index ...?
π DESCRIPTION π
okay so lindex is the bestie who reaches into a list and pulls out exactly the element you asked for. It takes a parameter, list, which it treats as a Tcl list. It also accepts zero or more indices into that list. Those indices can be presented either consecutively on the command line, or grouped in a Tcl list and presented as a single argument. both valid, both slay. β¨
If no indices are presented, the command takes the form:
lindex list
or
lindex list {}
In this case, the return value of lindex is simply the value of the list parameter. no notes. π
When presented with a single index, lindex treats list as a Tcl list and returns the index'th element from it (0 refers to the first element of the list). In extracting the element, lindex observes the same rules concerning braces and quotes and backslashes as the Tcl command interpreter; however, variable substitution and command substitution do not occur. If index is negative or greater than or equal to the number of elements in value, then an empty string is returned. The interpretation of each simple index value is the same as for the command string index, supporting simple index arithmetic and indices relative to the end of the list. iykyk. π₯
bestie, ifindexis negative or >= the number of elements invalue, you get an empty string, not an error. it's giving silent treatment. π
If additional index arguments are supplied, then each argument is used in turn to select an element from the previous indexing operation, allowing the script to select elements from sublists. The command,
lindex $a 1 2 3
or
lindex $a {1 2 3}
is synonymous with
lindex [lindex [lindex $a 1] 2] 3
so it's the same vibe, just nested. π«Ά
β¨ EXAMPLES β¨
Lists can be indexed into from either end:
lindex {a b c} 0
β a
lindex {a b c} 2
β c
lindex {a b c} end
β c
lindex {a b c} end-1
β b
Lists or sequences of indices allow selection into lists of lists:
lindex {a b c}
β a b c
lindex {a b c} {}
β a b c
lindex {{a b c} {d e f} {g h i}} 2 1
β h
lindex {{a b c} {d e f} {g h i}} {2 1}
β h
lindex {{{a b} {c d}} {{e f} {g h}}} 1 1 0
β g
lindex {{{a b} {c d}} {{e f} {g h}}} {1 1 0}
β g
List indices may also perform limited computation, adding or subtracting fixed amounts from other indices:
set idx 1
lindex {a b c d e f} $idx+2
β d
set idx 3
lindex {a b c d e f} $idx+2
β f
π SEE ALSO π
list(n)lappend(n)lassign(n)ledit(n)linsert(n)llength(n)lmap(n)lpop(n)lrange(n)lremove(n)lrepeat(n)lreplace(n)lreverse(n)lsearch(n)lseq(n)lset(n)lsort(n)string(n)
π·οΈ KEYWORDS π·οΈ
- element
- index
- list
π that's the whole page, bestie β Tcl 8.4, lindex(n), and the footer didn't hand us a date, so we're closing with main character energy. periodt. π
π¦ where this page comes from
- alpine 3.23: tcl9-doc 9.0.3-r0 Β· TCL
- alpine 3.24: tcl9-doc 9.0.3-r2 Β· TCL
- fedora 43: tcl-doc 1:9.0.2-1.fc43 Β· TCL AND GPL-3.0-or-later WITH Bison-exception-2.2 AND BSD-3-Clause
- fedora 44: tcl-doc 1:9.0.2-1.fc44 Β· TCL AND GPL-3.0-or-later WITH Bison-exception-2.2 AND BSD-3-Clause
- nixos 26.05: tcl 9.0.3
- nixpkgs unstable: tcl 9.1.0
- Copyright (c) 1993 The Regents of the University of California
- Copyright (c) 1994-1996 Sun Microsystems, Inc
- Copyright (c) 2001 Kevin B. Kenny <kennykb@acm.org>. All rights reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms