A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2007-May/073221.html below:

[Python-Dev] Py2.6 buildouts to the set API

[Python-Dev] Py2.6 buildouts to the set API [Python-Dev] Py2.6 buildouts to the set APIRaymond Hettinger python at rcn.com
Sat May 19 03:34:34 CEST 2007
Here some ideas that have been proposed for sets:

* New method (proposed by Shane Holloway):  s1.isdisjoint(s2).  Logically equivalent to "not s1.intersection(s2)" but has an early-out if a common member is found.  The speed-up is potentially large given two big sets that may largely overlap or may not intersect at all.  There is also a memory savings since a new set does not have to be formed and then thrown away.

* Additional optional arguments for basic set operations to allow chained operations.  For example, s=s1.union(s2, s3, s4) would be logically equivalent to s=s1.union(s2).union(s3).union(s4) but would run faster because no intermediate sets are created, copied, and discarded.  It would run as if written:  s=s1.copy(); s.update(s2); s.update(s3); s.update(s4).  

* Make sets listenable for changes (proposed by Jason Wells):

    s = set(mydata)
    def callback(s):
         print 'Set %d now has %d items' % (id(s), len(s))
    s.listeners.append(callback)
    s.add(existing_element)       # no callback
    s.add(new_element)            # callback


Raymond
More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4