---
name: "lassign"
section: "n"
platform: "macos"
package: "tcl"
version: "152"
release: "macOS 26.5"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/lassign/n"
---

# lassign(n)

Assign list elements to variables

## NAME

lassign - Assign list elements to variables

## SYNOPSIS

**lassign** *list varName* ?*varName ...*?

## DESCRIPTION

This command treats the value *list* as a list and assigns successive elements from that list to the variables given by the *varName* arguments in order.  If there are more variable names than list elements, the remaining variables are set to the empty string.  If there are more list elements than variables, a list of unassigned elements is returned.

## EXAMPLES

An illustration of how multiple assignment works, and what happens when there are either too few or too many elements. lassign {a b c} x y z       ;# Empty return puts $x                     ;# Prints "a" puts $y                     ;# Prints "b" puts $z                     ;# Prints "c"

lassign {d e} x y z         ;# Empty return puts $x                     ;# Prints "d" puts $y                     ;# Prints "e" puts $z                     ;# Prints ""

lassign {f g h i} x y       ;# Returns "h i" puts $x                     ;# Prints "f" puts $y                     ;# Prints "g" The **lassign** command has other uses.  It can be used to create the analogue of the command in many shell languages like this: set ::argv \[lassign $::argv argumentToReadOff\]

## SEE ALSO

[lindex(n)](/lindex/n.md), [list(n)](/list/n.md), [lset(n)](/lset/n.md), [set(n)](/set/n.md)

## KEYWORDS

assign, element, list, multiple, set, variable
