Commit Graph

13 Commits

Author SHA1 Message Date
Raymond Hettinger 6a1801271a Improvements to set.py:
* Relaxed the argument restrictions for non-operator methods.  They now
  allow any iterable instead of requiring a set.  This makes the module
  a little easier to use and paves the way for an efficient C
  implementation which can take better advantage of iterable arguments
  while screening out immutables.

* Deprecated Set.update() because it now duplicates Set.union_update()

* Adapted the tests and docs to include the above changes.

* Added more test coverage including testing identities and checking
  to make sure non-restartable generators work as arguments.

Will backport to Py2.3.1 so that the interface remains consistent
across versions.  The deprecation of update() will be changed to
a FutureWarning.
2003-08-17 08:34:09 +00:00
Raymond Hettinger 7ceb29e4a5 Incorporate documentation suggestions from feedback on comp.lang.python.
* Positive wording for the description of why < and > and = can all
  be False.

* Move to a three column table format that puts long method names
  side-by-side with their operator equivalents

* Mention that KeyError can be raised by Set.pop() and Set.remove().

* Minor tweaks to the examples.

Will backport as soon as Fred rebuilds the docs so I can confirm
the tables formatted properly
2003-08-16 00:56:40 +00:00
Raymond Hettinger 2835e37be5 SF bug #663701: sets module review
Renamed hook methods to use the double underscore convention.
2003-02-14 03:42:11 +00:00
Raymond Hettinger e544f6f682 SF bug #663701. The caret wasn't printing well in the PDF documentation. 2003-02-14 01:49:09 +00:00
Raymond Hettinger 3801ec7ff3 Document that __cmp__() is not defined for sets.
Note, that list.sort() is undefined for lists of sets.
Add the ... prompt to the example so it runs in doctest.
2003-01-15 15:46:05 +00:00
Fred Drake 2e3ae21060 Fix some nits Guido brought up last August:
- give subsection pages nicer names
- shorten some really long table cells; table cells can't wrap in the
  typeset version of the documentation
2003-01-06 15:50:32 +00:00
Tim Peters ea76c98014 Implemented <, <=, >, >= for sets, giving subset and proper-subset
meanings.  I did not add new, e.g., ispropersubset() methods; we're
going nuts on those, and, e.g., there was no "friendly name" for
== either.
2002-08-25 18:43:10 +00:00
Raymond Hettinger e87ab3fefe Removed < <= > >= from the API. Implemented as comparisons of the
underlying dictionaries, there were no reasonable use cases (lexicographic
sorting of a list of sets is somewhat esoteric).  Frees the operators
for other uses (such as strict subset and superset comparisons).

Updated documentation and test suite accordingly.
2002-08-24 07:33:06 +00:00
Raymond Hettinger fa8dd5f407 Fix markup and punctuation 2002-08-23 18:10:54 +00:00
Tim Peters b81b252fab s/_as_Temporarily_Immutable/_as_temporarily_immutable/g, because the
latter is what the code actually does.
2002-08-23 17:48:23 +00:00
Tim Peters 54fd3e6ffc pop(): An arbitrary element is removed, not a random element. 2002-08-23 17:45:43 +00:00
Fred Drake d10c6c949a Adjust the markup in a few places so this will actually format.
Remove the third column in the tables since it isn't used.
2002-08-23 17:22:36 +00:00
Raymond Hettinger 584cb198f7 Load docs for sets.py 2002-08-23 15:18:38 +00:00