Message74622
[Raymond]
> I don't think this is necessary.
I disagree. I think some sort of warning is necessary; it doesn't need
to be particularly prominent, but it should be there.
Almost *all* expectations are broken for sets in the absence of
transitivity of equality for the set elements. Consider the following
(Python 2.6) snippet involving a set s:
>>> s.remove(17)
>>> 17 in s
True
An element is removed from a set s, and yet it's still present after the
removal! Doesn't this deserve an explanation somewhere?
In case you haven't guessed, here's what s is:
>>> s
set([Fraction(17, 1), Decimal('17')])
Regardless of whether one wants to call this a bug or not, I think it's
sufficiently unintuitive and surprising that it should be documented.
Terry's suggestion and wordings for the reference and library warnings
look good to me. |
|
Date |
User |
Action |
Args |
2008-10-10 08:57:37 | mark.dickinson | set | recipients:
+ mark.dickinson, georg.brandl, rhettinger, terry.reedy |
2008-10-10 08:57:36 | mark.dickinson | set | messageid: <1223629056.86.0.678536778673.issue4090@psf.upfronthosting.co.za> |
2008-10-10 08:56:15 | mark.dickinson | link | issue4090 messages |
2008-10-10 08:56:14 | mark.dickinson | create | |
|