summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2006-10-12 08:22:57 (GMT)
committerGeorg Brandl <georg@python.org>2006-10-12 08:22:57 (GMT)
commit8984370c06d9981a710318b8a4bd9b052ac3425d (patch)
treee09fb698b96c3433c73f5d7241ad6f4f1d654377 /Doc
parentf0db92a676055c48ee9c6119ffa057c9d6397a55 (diff)
downloadcpython-8984370c06d9981a710318b8a4bd9b052ac3425d.zip
cpython-8984370c06d9981a710318b8a4bd9b052ac3425d.tar.gz
cpython-8984370c06d9981a710318b8a4bd9b052ac3425d.tar.bz2
Bug #1565919: document set types in the Language Reference.
(backport from rev. 52297)
Diffstat (limited to 'Doc')
-rw-r--r--Doc/ref/ref3.tex35
1 files changed, 35 insertions, 0 deletions
diff --git a/Doc/ref/ref3.tex b/Doc/ref/ref3.tex
index 9c84ed9..618dccd 100644
--- a/Doc/ref/ref3.tex
+++ b/Doc/ref/ref3.tex
@@ -379,6 +379,41 @@ additional example of a mutable sequence type.
\end{description} % Sequences
+
+\item[Set types]
+These represent unordered, finite sets of unique, immutable objects.
+As such, they cannot be indexed by any subscript. However, they can be
+iterated over, and the built-in function \function{len()} returns the
+number of items in a set. Common uses for sets are
+fast membership testing, removing duplicates from a sequence, and
+computing mathematical operations such as intersection, union, difference,
+and symmetric difference.
+\bifuncindex{len}
+\obindex{set type}
+
+For set elements, the same immutability rules apply as for dictionary
+keys. Note that numeric types obey the normal rules for numeric
+comparison: if two numbers compare equal (e.g., \code{1} and
+\code{1.0}), only one of them can be contained in a set.
+
+There are currently two intrinsic set types:
+
+\begin{description}
+
+\item[Sets]
+These\obindex{set} represent a mutable set. They are created by the
+built-in \function{set()} constructor and can be modified afterwards
+by several methods, such as \method{add()}.
+
+\item[Frozen sets]
+These\obindex{frozenset} represent an immutable set. They are created by
+the built-in \function{frozenset()} constructor. As a frozenset is
+immutable and hashable, it can be used again as an element of another set,
+or as a dictionary key.
+
+\end{description} % Set types
+
+
\item[Mappings]
These represent finite sets of objects indexed by arbitrary index sets.
The subscript notation \code{a[k]} selects the item indexed