---
name: "lrange"
section: "3tcl"
platform: "linux"
package: "tcl8.6-doc"
version: "8.6.16+dfsg-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/lrange"
---

# lrange(3tcl)

Return one or more adjacent elements from a list

```

```

## NAME

lrange - Return one or more adjacent elements from a list

## SYNOPSIS

**lrange** *list first last*

```

```

## DESCRIPTION

*List* must be a valid Tcl list.  This command will return a new list consisting of elements *first* through *last*, inclusive. The index values *first* and *last* are interpreted the same as index values for the command **string index**, supporting simple index arithmetic and indices relative to the end of the list. If *first* is less than zero, it is treated as if it were zero. If *last* is greater than or equal to the number of elements in the list, then it is treated as if it were **end**. If *first* is greater than *last* then an empty string is returned. Note: “**lrange** *list first first*” does not always produce the same result as “**lindex** *list first*” (although it often does for simple fields that are not enclosed in braces); it does, however, produce exactly the same results as “**list \[lindex** *list first***\]**”

## EXAMPLES

Selecting the first two elements:

```
% lrange {a b c d e} 0 1
a b
```

Selecting the last three elements:

```
% lrange {a b c d e} end-2 end
c d e
```

Selecting everything except the first and last element:

```
% lrange {a b c d e} 1 end-1
b c d
```

Selecting a single element with **lrange** is not the same as doing so with **lindex**:

```
% set var {some {elements to} select}
some {elements to} select
% lindex $var 1
elements to
% lrange $var 1 1
{elements to}
```

## SEE ALSO

[list(3tcl)](/list/3tcl.md), [lappend(3tcl)](/lappend/3tcl.md), [lindex(3tcl)](/lindex/3tcl.md), [linsert(3tcl)](/linsert/3tcl.md), [llength(3tcl)](/llength/3tcl.md), [lsearch(3tcl)](/lsearch/3tcl.md), [lset(3tcl)](/lset/3tcl.md), [lreplace(3tcl)](/lreplace/3tcl.md), [lsort(3tcl)](/lsort/3tcl.md), [string(3tcl)](/string/3tcl.md)

## KEYWORDS

element, list, range, sublist
