<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN">
<link rel=
"STYLESHEET" href=
"ref.css" type='text/css'
/>
<link rel=
"SHORTCUT ICON" href=
"../icons/pyfav.png" type=
"image/png" />
<link rel='start' href='../index.html' title='Python Documentation Index'
/>
<link rel=
"first" href=
"ref.html" title='Python Reference Manual'
/>
<link rel='contents' href='contents.html'
title=
"Contents" />
<link rel='index' href='genindex.html' title='Index'
/>
<link rel='last' href='about.html' title='About this document...'
/>
<link rel='help' href='about.html' title='About this document...'
/>
<link rel=
"next" href=
"genexpr.html" />
<link rel=
"prev" href=
"parenthesized.html" />
<link rel=
"parent" href=
"atoms.html" />
<link rel=
"next" href=
"genexpr.html" />
<meta name='aesop' content='information'
/>
<title>5.2.4 List displays
</title>
<div id='top-navigation-panel' xml:id='top-navigation-panel'
>
<table align=
"center" width=
"100%" cellpadding=
"0" cellspacing=
"2">
<td class='online-navigation'
><a rel=
"prev" title=
"5.2.3 Parenthesized forms"
href=
"parenthesized.html"><img src='../icons/previous.png'
border='
0' height='
32' alt='Previous Page' width='
32'
/></A></td>
<td class='online-navigation'
><a rel=
"parent" title=
"5.2 Atoms"
href=
"atoms.html"><img src='../icons/up.png'
border='
0' height='
32' alt='Up One Level' width='
32'
/></A></td>
<td class='online-navigation'
><a rel=
"next" title=
"5.2.5 Generator expressions"
href=
"genexpr.html"><img src='../icons/next.png'
border='
0' height='
32' alt='Next Page' width='
32'
/></A></td>
<td align=
"center" width=
"100%">Python Reference Manual
</td>
<td class='online-navigation'
><a rel=
"contents" title=
"Table of Contents"
href=
"contents.html"><img src='../icons/contents.png'
border='
0' height='
32' alt='Contents' width='
32'
/></A></td>
<td class='online-navigation'
><img src='../icons/blank.png'
border='
0' height='
32' alt='' width='
32'
/></td>
<td class='online-navigation'
><a rel=
"index" title=
"Index"
href=
"genindex.html"><img src='../icons/index.png'
border='
0' height='
32' alt='Index' width='
32'
/></A></td>
<div class='online-navigation'
>
<b class=
"navlabel">Previous:
</b>
<a class=
"sectref" rel=
"prev" href=
"parenthesized.html">5.2.3 Parenthesized forms
</A>
<b class=
"navlabel">Up:
</b>
<a class=
"sectref" rel=
"parent" href=
"atoms.html">5.2 Atoms
</A>
<b class=
"navlabel">Next:
</b>
<a class=
"sectref" rel=
"next" href=
"genexpr.html">5.2.5 Generator expressions
</A>
<!--End of Navigation Panel-->
<H2><A NAME=
"SECTION007240000000000000000"></A><A NAME=
"lists"></A>
<a id='l2h-
344' xml:id='l2h-
344'
></a><a id='l2h-
345' xml:id='l2h-
345'
></a>
A list display is a possibly empty series of expressions enclosed in
<div class=
"productions">
<td><a id='tok-test' xml:id='tok-test'
>test
</a></td>
<td><a class='grammartoken'
href=
"Booleans.html#tok-and_test">and_test
</a> (
"or" <a class='grammartoken'
href=
"Booleans.html#tok-and_test">and_test
</a> )*
|
<a class='grammartoken'
href=
"lambdas.html#tok-lambda_form">lambda_form
</a></td></tr>
<td><a id='tok-testlist' xml:id='tok-testlist'
>testlist
</a></td>
<td><a class='grammartoken'
href=
"lists.html#tok-test">test
</a> (
"," <a class='grammartoken'
href=
"lists.html#tok-test">test
</a> )* [
"," ]
</td></tr>
<td><a id='tok-list_display' xml:id='tok-list_display'
>list_display
</a></td>
<td>"[" [
<a class='grammartoken'
href=
"lists.html#tok-listmaker">listmaker
</a>]
"]"</td></tr>
<td><a id='tok-listmaker' xml:id='tok-listmaker'
>listmaker
</a></td>
<td><a class='grammartoken'
href=
"Booleans.html#tok-expression">expression
</a> (
<a class='grammartoken'
href=
"lists.html#tok-list_for">list_for
</a>
| (
"," <a class='grammartoken'
href=
"Booleans.html#tok-expression">expression
</a> )* [
","] )
</td></tr>
<td><a id='tok-list_iter' xml:id='tok-list_iter'
>list_iter
</a></td>
<td><a class='grammartoken'
href=
"lists.html#tok-list_for">list_for
</a> |
<a class='grammartoken'
href=
"lists.html#tok-list_if">list_if
</a></td></tr>
<td><a id='tok-list_for' xml:id='tok-list_for'
>list_for
</a></td>
<td>"for" <a class='grammartoken'
href=
"exprlists.html#tok-expression_list">expression_list
</a> "in" <a class='grammartoken'
href=
"lists.html#tok-testlist">testlist
</a>
[
<a class='grammartoken'
href=
"lists.html#tok-list_iter">list_iter
</a>]
</td></tr>
<td><a id='tok-list_if' xml:id='tok-list_if'
>list_if
</a></td>
<td>"if" <a class='grammartoken'
href=
"lists.html#tok-test">test
</a> [
<a class='grammartoken'
href=
"lists.html#tok-list_iter">list_iter
</a>]
</td></tr>
<a class=
"grammar-footer"
href=
"grammar.txt" type=
"text/plain"
>Download entire grammar as text.
</a>
A list display yields a new list object. Its contents are specified
by providing either a list of expressions or a list comprehension.
<a id='l2h-
346' xml:id='l2h-
346'
></a>When a comma-separated list of expressions is supplied, its elements are
evaluated from left to right and placed into the list object in that
order. When a list comprehension is supplied, it consists of a
single expression followed by at least one
<tt class=
"keyword">for
</tt> clause and zero or
more
<tt class=
"keyword">for
</tt> or
<tt class=
"keyword">if
</tt> clauses. In this
case, the elements of the new list are those that would be produced
by considering each of the
<tt class=
"keyword">for
</tt> or
<tt class=
"keyword">if
</tt> clauses a block,
left to right, and evaluating the expression to produce a list element
each time the innermost block is reached
<A NAME=
"tex2html4"
HREF=
"#foot4516"><SUP>5.1</SUP></A>.
<a id='l2h-
347' xml:id='l2h-
347'
></a><a id='l2h-
348' xml:id='l2h-
348'
></a>
<BR><HR><H4>Footnotes
</H4>
<DT><A NAME=
"foot4516">... reached
</A><A
href=
"lists.html#tex2html4"><SUP>5.1</SUP></A></DT>
list comprehension
"leaks" the control variables of each
"<tt class="samp
">for</tt>" it contains into the containing scope. However, this
behavior is deprecated, and relying on it will not work once this
bug is fixed in a future release
<div class='online-navigation'
>
<table align=
"center" width=
"100%" cellpadding=
"0" cellspacing=
"2">
<td class='online-navigation'
><a rel=
"prev" title=
"5.2.3 Parenthesized forms"
href=
"parenthesized.html"><img src='../icons/previous.png'
border='
0' height='
32' alt='Previous Page' width='
32'
/></A></td>
<td class='online-navigation'
><a rel=
"parent" title=
"5.2 Atoms"
href=
"atoms.html"><img src='../icons/up.png'
border='
0' height='
32' alt='Up One Level' width='
32'
/></A></td>
<td class='online-navigation'
><a rel=
"next" title=
"5.2.5 Generator expressions"
href=
"genexpr.html"><img src='../icons/next.png'
border='
0' height='
32' alt='Next Page' width='
32'
/></A></td>
<td align=
"center" width=
"100%">Python Reference Manual
</td>
<td class='online-navigation'
><a rel=
"contents" title=
"Table of Contents"
href=
"contents.html"><img src='../icons/contents.png'
border='
0' height='
32' alt='Contents' width='
32'
/></A></td>
<td class='online-navigation'
><img src='../icons/blank.png'
border='
0' height='
32' alt='' width='
32'
/></td>
<td class='online-navigation'
><a rel=
"index" title=
"Index"
href=
"genindex.html"><img src='../icons/index.png'
border='
0' height='
32' alt='Index' width='
32'
/></A></td>
<div class='online-navigation'
>
<b class=
"navlabel">Previous:
</b>
<a class=
"sectref" rel=
"prev" href=
"parenthesized.html">5.2.3 Parenthesized forms
</A>
<b class=
"navlabel">Up:
</b>
<a class=
"sectref" rel=
"parent" href=
"atoms.html">5.2 Atoms
</A>
<b class=
"navlabel">Next:
</b>
<a class=
"sectref" rel=
"next" href=
"genexpr.html">5.2.5 Generator expressions
</A>
<span class=
"release-info">Release
2.4.2, documentation updated on
28 September
2005.
</span>
<!--End of Navigation Panel-->
See
<i><a href=
"about.html">About this document...
</a></i> for information on suggesting changes.