[Python-Dev] Re: Generalizing "in" to pairs of sequences

Ka-Ping Yee ping@lfw.org
Sun, 26 Aug 2001 02:25:31 -0700 (PDT)


On Sun, 26 Aug 2001, Eric S. Raymond wrote:
> This seems to be my week to ask simple, stupid questions.
>
> Is there any good semantic or philosophical reason that these aren't legal?

Yes.

> >>> "ab" in "cabcd"
> 1
> >>> "xy" in "cabcd"
> 0
> >>> (1, 2) in (0, 1, 2, 3)
> 1
> >>> (9, 8) in (0, 1, 2, 3)
> 0

The current meaning of "in" is:

    Given a sequence b, a is "in" b if a is an element of b.

Your "subsequence" interpretation would conflict with this meaning.
Here's current behaviour:

    >>> "ab" in ("ab", "cd")
    1
    >>> "ab" in ("a", "b", "c", "d")
    0
    >>> (1, 2) in ((0, 1), (1, 2), (2, 3))
    1
    >>> (1, 2) in (0, 1, 2, 3)
    0

"in" cannot have both meanings.


-- ?!ng

"Computers are useless.  They can only give you answers."
    -- Pablo Picasso