changeset: 77495:bb63919cde6e branch: 2.7 parent: 77488:ac2f5067c220 user: Ezio Melotti date: Sun Jun 17 14:10:59 2012 +0200 files: Doc/tutorial/datastructures.rst Misc/ACKS description: #14840: Add a bit on the difference between tuples and lists. Initial patch by Zachary Ware. diff -r ac2f5067c220 -r bb63919cde6e Doc/tutorial/datastructures.rst --- a/Doc/tutorial/datastructures.rst Sun Jun 17 19:03:39 2012 +1000 +++ b/Doc/tutorial/datastructures.rst Sun Jun 17 14:10:59 2012 +0200 @@ -423,17 +423,31 @@ ... u = t, (1, 2, 3, 4, 5) >>> u ((12345, 54321, 'hello!'), (1, 2, 3, 4, 5)) +>>> # Tuples are immutable: + ... t[0] = 88888 + Traceback (most recent call last): + File "", line 1, in + TypeError: 'tuple' object does not support item assignment +>>> # but they can contain mutable objects: + ... v = ([1, 2, 3], [3, 2, 1]) +>>> v + ([1, 2, 3], [3, 2, 1]) + As you see, on output tuples are always enclosed in parentheses, so that nested tuples are interpreted correctly; they may be input with or without surrounding parentheses, although often parentheses are necessary anyway (if the tuple is -part of a larger expression). +part of a larger expression). It is not possible to assign to the individual +items of a tuple, however it is possible to create tuples which contain mutable +objects, such as lists. -Tuples have many uses. For example: (x, y) coordinate pairs, employee records -from a database, etc. Tuples, like strings, are immutable: it is not possible -to assign to the individual items of a tuple (you can simulate much of the same -effect with slicing and concatenation, though). It is also possible to create -tuples which contain mutable objects, such as lists. +Though tuples may seem similar to lists, they are often used in different +situations and for different purposes. +Tuples are :term:`immutable`, and usually contain an heterogeneous sequence of +elements that are accessed via unpacking (see later in this section) or indexing +(or even by attribute in the case of :func:`namedtuples `). +Lists are :term:`mutable`, and their elements are usually homogeneous and are +accessed by iterating over the list. A special problem is the construction of tuples containing 0 or 1 items: the syntax has some extra quirks to accommodate these. Empty tuples are constructed @@ -462,8 +476,6 @@ sequence. Note that multiple assignment is really just a combination of tuple packing and sequence unpacking. -.. XXX Add a bit on the difference between tuples and lists. - .. _tut-sets: diff -r ac2f5067c220 -r bb63919cde6e Misc/ACKS --- a/Misc/ACKS Sun Jun 17 19:03:39 2012 +1000 +++ b/Misc/ACKS Sun Jun 17 14:10:59 2012 +0200 @@ -900,6 +900,7 @@ Larry Wall Kevin Walzer Greg Ward +Zachary Ware Barry Warsaw Steve Waterbury Bob Watson

AltStyle によって変換されたページ (->オリジナル) /