lindex

lindex(3tcl)                  Tcl Built-In Commands                 lindex(3tcl)



________________________________________________________________________________

NAME
       lindex - Retrieve an element from a list

SYNOPSIS
       lindex list ?index ...?
________________________________________________________________________________

DESCRIPTION
       The lindex command accepts a parameter, list, which it treats as a Tcl
       list. It also accepts zero or more indices into the list.  The indices
       may be presented either consecutively on the command line, or grouped in
       a Tcl list and presented as a single argument.

       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.

       When presented with a single index, the lindex command 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.

       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

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(3tcl), lappend(3tcl), linsert(3tcl), llength(3tcl), lsearch(3tcl),
       lset(3tcl), lsort(3tcl), lrange(3tcl), lreplace(3tcl), string(3tcl)

KEYWORDS
       element, index, list



Tcl                                    8.4                          lindex(3tcl)