How to find "in" in the documentation

tinnews at isbd.co.uk tinnews at isbd.co.uk
Fri Mar 13 17:46:11 EDT 2009


Albert Hopkins <marduk at letterboxes.org> wrote:
> On Fri, 2009-03-13 at 21:01 +0000, tinnews at isbd.co.uk wrote:
> > I've had this trouble before, how do I find the details of how "in"
> > works in the documentation.  E.g. the details of:-
> > 
> >     if string in bigstring:
> > 
> > It gets a mention in the "if" section but not a lot.
> > 
> 
> >From http://docs.python.org/reference/expressions.html#in
> 
>         The operators in and not in test for collection membership. x in
>         s evaluates to true if x is a member of the collection s, and
>         false otherwise. x not in s returns the negation of x in s. The
>         collection membership test has traditionally been bound to
>         sequences; an object is a member of a collection if the
>         collection is a sequence and contains an element equal to that
>         object. However, it make sense for many other object types to
>         support membership tests without being a sequence. In
>         particular, dictionaries (for keys) and sets support membership
>         testing.
>         
>         For the list and tuple types, x in y is true if and only if
>         there exists an index i such that x == y[i] is true.
>         
>         For the Unicode and string types, x in y is true if and only if
>         x is a substring of y. An equivalent test is y.find(x) != -1.
>         Note, x and y need not be the same type; consequently, u'ab' in
>         'abc' will return True. Empty strings are always considered to
>         be a substring of any other string, so "" in "abc" will return
>         True.
>         
>         Changed in version 2.3: Previously, x was required to be a
>         string of length 1.
>         
>         For user-defined classes which define the __contains__() method,
>         x in y is true if and only if y.__contains__(x) is true.
>         
>         For user-defined classes which do not define __contains__() and
>         do define __getitem__(), x in y is true if and only if there is
>         a non-negative integer index i such that x == y[i], and all
>         lower integer indices do not raise IndexError exception. (If any
>         other exception is raised, it is as if in raised that
>         exception).
> 
That's what I wanted, thanks, I maybe didn't stare hard enough at the
expressions section.

-- 
Chris Green



More information about the Python-list mailing list