diff options
author | Guido van Rossum <guido@python.org> | 2001-04-20 16:50:40 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2001-04-20 16:50:40 (GMT) |
commit | 0dbb4fba4c59741466ac18eeb946ca56989717d4 (patch) | |
tree | c7c0fe7c20813024cb023075b597fee3c99abd64 /Doc/ref | |
parent | 78fe5308b427298a2bb3c80c1d0f6117d18fcf62 (diff) | |
download | cpython-0dbb4fba4c59741466ac18eeb946ca56989717d4.zip cpython-0dbb4fba4c59741466ac18eeb946ca56989717d4.tar.gz cpython-0dbb4fba4c59741466ac18eeb946ca56989717d4.tar.bz2 |
Implement, test and document "key in dict" and "key not in dict".
I know some people don't like this -- if it's really controversial,
I'll take it out again. (If it's only Alex Martelli who doesn't like
it, that doesn't count as "real controversial" though. :-)
That's why this is a separate checkin from the iterators stuff I'm
about to check in next.
Diffstat (limited to 'Doc/ref')
-rw-r--r-- | Doc/ref/ref3.tex | 11 | ||||
-rw-r--r-- | Doc/ref/ref5.tex | 4 |
2 files changed, 11 insertions, 4 deletions
diff --git a/Doc/ref/ref3.tex b/Doc/ref/ref3.tex index 1f3afbf..adb619a 100644 --- a/Doc/ref/ref3.tex +++ b/Doc/ref/ref3.tex @@ -1134,7 +1134,10 @@ multiplication (meaning repetition) by defining the methods \method{__add__()}, \method{__radd__()}, \method{__iadd__()}, \method{__mul__()}, \method{__rmul__()} and \method{__imul__()} described below; they should not define \method{__coerce__()} or other numerical -operators. +operators. It is recommended that both mappings and sequences +implement the \method{__contains__}, to allow efficient use of the +\code{in} operator; for mappings, \code{in} should be equivalent of +\method{has_key()}; for sequences, it should search through the values. \withsubitem{(mapping object method)}{ \ttindex{keys()} \ttindex{values()} @@ -1143,7 +1146,8 @@ operators. \ttindex{get()} \ttindex{clear()} \ttindex{copy()} - \ttindex{update()}} + \ttindex{update()} + \ttindex{__contains__()}} \withsubitem{(sequence object method)}{ \ttindex{append()} \ttindex{count()} @@ -1158,7 +1162,8 @@ operators. \ttindex{__iadd__()} \ttindex{__mul__()} \ttindex{__rmul__()} - \ttindex{__imul__()}} + \ttindex{__imul__()} + \ttindex{__contains__()}} \withsubitem{(numeric object method)}{\ttindex{__coerce__()}} \begin{methoddesc}[mapping object]{__len__}{self} diff --git a/Doc/ref/ref5.tex b/Doc/ref/ref5.tex index 5663daa..ec0c6b1 100644 --- a/Doc/ref/ref5.tex +++ b/Doc/ref/ref5.tex @@ -768,7 +768,9 @@ not in \var{s}} returns the negation of \code{\var{x} in \var{s}}. The set membership test has traditionally been bound to sequences; an object is a member of a set if the set is a sequence and contains an element equal to that object. However, it is possible for an object -to support membership tests without being a sequence. +to support membership tests without being a sequence. In particular, +dictionaries support memership testing as a nicer way of spelling +\code{\var{key} in \var{dict}}; other mapping types may follow suit. For the list and tuple types, \code{\var{x} in \var{y}} is true if and only if there exists an index \var{i} such that |