Akira Li added the comment: On the other hand update() method may accept multiple iterables at once:
def update(self, *iterables): for it in iterables: self |= it and therefore it is not equivalent to __ior__ method. In this case: 'difference', 'intersection', 'union' set methods could also be added to Set and 'difference_update', 'intersection_update', 'update' to MutableSet. Negative consequences: - no use-case? - there are more than one way to spell an operation e.g., &= and intersection_update for a single iterable case - documentation, tests, methods implementation have to be maintained in sync with frozenset/set Positive: - Set/MutableSet can be a drop in replacement for frozenset/set without manually reimplementing the named methods even if multiple iterables are not used - documentation, tests, methods implementation are maintained only in stdlib and therefore bugs are fixed in a single place and the same behavior everywhere I've uploaded a prototype patch that implements the named methods, mentions them in Set/MutableSet documentation, and adds sanity tests. If somebody provides a compelling use-case for adding the named methods then further work on the patch could be done. ---------- keywords: +patch Added file: http://bugs.python.org/file36152/set-update.patch _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue22089> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com