On Feb 9, 2008 8:58 PM, Phillip J. Eby <[EMAIL PROTECTED]> wrote: > At 07:51 PM 2/8/2008 -0500, Raymond Hettinger wrote: > >I recommend dropping the dict.copy() method from Py3.0. > > > >* We can already write: newd = copy.copy(d). > >* We can also write: newd = dict(d) > >* Both of those approaches also work for most other containers. > > I'm not fond of this idea. dict.copy() is polymorphic -- but dict(d) isn't. > > copy.copy() is polymorphic, but requires an import, which means the > path of least resistance will be to use dict(d)... which will then > turn non-dictionaries into dictionaries. > > If copy.copy() were a builtin and the "one obvious way" to copy > containers, +1. Otherwise, -0.5.
On second thought, I'm with Phillip here, for exactly the reasons he states. Let's leave copy() alone. I'm of two minds about adding it to the MutableMapping and MutableSet ABCs; requiring it might constrain implementations unnecessary, and there isn't an easy way to provide a generic implementation. Now I wish we had "optional" abstract methods. Maybe those can be added to the ABC PEP yet? -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com