[New-bugs-announce] [issue16073] fix map() statement in list comprehension example

Chris Jerdonek report at bugs.python.org
Fri Sep 28 05:50:24 CEST 2012

New submission from Chris Jerdonek:

> Date: Thu, 20 Sep 2012 15:14:36 -0400
> To: docs at python.org
> Subject: [docs] map objects are not lists
> 5.1.3. List Comprehensions<http://docs.python.org/dev/tutorial/datastructures.html#list-comprehensions>
> List comprehensions provide a concise way to create lists. Common
> applications are to make new lists where each element is the result of some
> operations applied to each member of another sequence or iterable, or to
> create a subsequence of those elements that satisfy a certain condition.
> For example, assume we want to create a list of squares, like:
>>>> squares = []>>> for x in range(10):...     squares.append(x**2)...>>> squares[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
> We can obtain the same result with:
> squares = [x**2 for x in range(10)]
> This is also equivalent to squares = map(lambda x: x**2, range(10)), but
> it?s more concise and readable.
> I think that the last sentence above should read:
> squares = list(map(lambda x: x**2, range(10)))
> In other words, the map function returns a map object, not a list object,
> so the list() function needs to be used to convert it to something that is
> truly equivalent to the previous definitions of "squares".  (In case it
> matters, I am using Python-3.3.0rc2 on RHEL 6.3.)

(from http://mail.python.org/pipermail/docs/2012-September/010525.html )

assignee: docs at python
components: Documentation
keywords: easy
messages: 171405
nosy: chris.jerdonek, docs at python
priority: normal
severity: normal
stage: needs patch
status: open
title: fix map() statement in list comprehension example
type: enhancement
versions: Python 3.3

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list