Provided by: tcl8.6-doc_8.6.14+dfsg-1build1_all bug

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