Raymond Hettinger
c886a8484d
Backport r87672 and r87615, improving tests, using super() instead of direct parent references, and using __reduce__ method for pickling.
2011-01-03 08:59:18 +00:00
Raymond Hettinger
8ebebd8f7e
Raymond-Hettingers-MacBook-Pro:py27 raymondhettinger$ cat svn-commit.tmp
...
Backport r87594 r87611 and r87612 so that OrderedDict subclassing behavior
better matches dict subclassing (i.e. adding __missing__ works and
extending/overriding the update() methods doesn't break __init__()).
2011-01-02 01:03:26 +00:00
Amaury Forgeot d'Arc
71431ef51a
Backport part of r86217: Fix issues when building without threads
2010-11-09 07:35:26 +00:00
Raymond Hettinger
74f869eb94
Issue 9826: OrderedDict.__repr__ did not play well with self-referencing dicts.
2010-09-13 22:14:36 +00:00
Raymond Hettinger
2039753a9a
Issue #9825 : Remove __del__() from OrderedDict.
2010-09-12 02:11:45 +00:00
Raymond Hettinger
a54b2dac90
Issue #9626 : Fix views in collections.OrderedDict().
2010-08-17 19:03:06 +00:00
Raymond Hettinger
fdf1b5642b
Minor factoring
2010-04-11 20:39:28 +00:00
Raymond Hettinger
34c35b2788
Add subtract() method to collections.Counter() objects.
2010-04-03 10:22:00 +00:00
Raymond Hettinger
dd2fedcd1c
Factor-out constant expressions
2010-04-03 07:57:09 +00:00
Raymond Hettinger
6b96ecb0ab
Improve clear() method. Keeps key/value refcnts >= 1 until final dict.clear() so that decrefs to zero won't trigger arbitrary code . Also runs a bit faster.
2010-04-03 03:14:28 +00:00
Raymond Hettinger
3928276e64
Clear cyclical references in list based OrderedDict.
2010-04-03 00:39:26 +00:00
Raymond Hettinger
e30bc38ce9
Improve code clarity a bit.
2010-03-09 11:29:10 +00:00
Raymond Hettinger
aba2293862
Have links in OrderedDicts be native Python lists instead
...
of a custom class with __slots__. This simplifies the
code a bit, reduces memory consumption, improves speed,
and eliminates the need for weak reference proxies.
2010-03-09 09:58:53 +00:00
Raymond Hettinger
9bd3508530
Add nicer docstrings to namedtuples().
...
Provides better tooltips and looks better in help().
2010-03-09 09:01:46 +00:00
Georg Brandl
7d4b759bd9
Remove unused import.
2010-02-06 22:49:47 +00:00
Raymond Hettinger
5dfc7f9fc8
Issue 6370: Performance issue with collections.Counter().
2009-06-29 19:10:29 +00:00
Alexandre Vassalotti
cb73bdac95
Revert r73401 per Raymond Hettinger's request.
...
The rational is the change might cause imcompatiblity problems with
PyYAML. In addition, Raymond wants to kept the different versions of
collections synchronized across Python versions.
2009-06-12 23:03:35 +00:00
Alexandre Vassalotti
450ae573bc
Make pickling of OrderedDict instances more efficient.
2009-06-12 21:52:14 +00:00
Raymond Hettinger
a68cad13ae
Fix field name conflicts for named tuples.
2009-05-27 02:24:45 +00:00
Benjamin Peterson
7c67b03051
using sys._getframe(x), where x > 0 doesnt' work on IronPython
2009-05-05 00:55:24 +00:00
Raymond Hettinger
1355a3dbf6
Minor factoring.
2009-04-08 08:26:55 +00:00
Raymond Hettinger
a5cd6375c0
Add docstrings.
2009-04-08 05:39:38 +00:00
Raymond Hettinger
e3bc5577e8
Replace the localized min/max calls with normal if/else
2009-04-04 08:46:58 +00:00
Raymond Hettinger
756ab67a98
Have namedtuple's field renamer assign names that
...
are consistent with the corresponding tuple index.
2009-04-02 22:25:40 +00:00
Raymond Hettinger
2dc90fdfaf
Separate initialization from clearing.
2009-03-25 22:41:32 +00:00
Raymond Hettinger
e5b78563b6
Make imported name private and wrap long-line.
2009-03-23 18:26:59 +00:00
Raymond Hettinger
906f95e80b
Move initialization of root link to __init__.
2009-03-23 04:42:18 +00:00
Raymond Hettinger
f1e2df9780
Add more comments. Improve variable names.
...
Make links clearer by using a Link object
instead of a list. Use proxy links to avoid
circular references.
2009-03-23 00:08:09 +00:00
Raymond Hettinger
c8e81ef508
Fix typo
2009-03-19 23:22:25 +00:00
Raymond Hettinger
e980d2d44b
* Add implementation notes.
...
* Re-order methods so that those touching the underlying data
structure come first and the derived methods come last.
2009-03-19 23:12:41 +00:00
Raymond Hettinger
2412299be9
* Add clearer comment to initialization code.
...
* Add optional argument to popitem() -- modeled
after Anthon van der Neut's C version.
* Fix method markup in docs.
2009-03-19 19:59:58 +00:00
Raymond Hettinger
2124599eaa
Improve implementation with better underlying data structure
...
for O(1) deletions. Big-Oh performance now the same as regular
dictionaries. Uses a doubly-linked list instead of a list/seq
to track insertion order.
2009-03-19 15:21:10 +00:00
Raymond Hettinger
a61ae6922f
Use mixin methods where possible. (2.7 only -- these don't all exist in 3.0)
2009-03-18 22:13:20 +00:00
Raymond Hettinger
131af6505a
Backport 70140, 70141, 70143, and 70144.
...
Adds tests, switches from list to deque, fixes __reduce__
which was unnecessarily copying __keys.
2009-03-03 22:59:25 +00:00
Raymond Hettinger
0b15541ae2
Minor simplification.
2009-03-03 21:13:51 +00:00
Raymond Hettinger
9353ea2b85
Make the underlying data structure more private.
2009-03-03 20:53:51 +00:00
Raymond Hettinger
88a9164cdb
Backport 70106: Add OrderedDict support to collections.namedtuple().
2009-03-03 04:51:24 +00:00
Raymond Hettinger
bc512d3abd
Backport PEP 372: OrderedDict()
2009-03-03 04:45:34 +00:00
Raymond Hettinger
322daea7c3
Issue 1818: collections.namedtuple() to support automatic renaming of invalid fieldnames.
2009-02-10 01:24:05 +00:00
Raymond Hettinger
ecf252abac
Issue 5021: doctest.testfile should set __name__
2009-01-27 10:03:04 +00:00
Raymond Hettinger
1bc1c8ac76
Update comments and add an optimized path for Counter.update().
2009-01-22 09:05:43 +00:00
Raymond Hettinger
4571f347f9
Simplify explanation of multiset operations by removing restrictions on negative inputs.
2009-01-21 20:31:50 +00:00
Raymond Hettinger
ae3f068fb5
Make merging easier by formattng comment blocks the same in Py3.1
2009-01-20 03:36:36 +00:00
Raymond Hettinger
562a4ada56
Add Counter() to __all__.
2009-01-20 02:24:38 +00:00
Raymond Hettinger
bad1eb2ff3
Build-outs for Counter() class:
...
* Constructor and update() support keyword args (like their dict counterparts).
* The 'del' statement no longer raises KeyError for missing values.
* Add multiset operations: __add__, __sub__, __and__, __or__.
2009-01-20 01:19:26 +00:00
Raymond Hettinger
35288c6b6c
Speed-up __repr__. Eliminate duplicate tests. Use a from-irmport.
2009-01-13 04:50:35 +00:00
Raymond Hettinger
783d73fc2f
Fixup and simplify docstrings and doctests.
2009-01-13 04:13:53 +00:00
Raymond Hettinger
aaa6e630f8
Simplify Counter() API. Replace items keyword argument
...
with a mapping. Makes Counter() idempotent, makes update()
API the same as Counter.__init__(), makes a more readable
repr, makes the API more dict-like, and allows Steven
Bethard's update() example to work.
2009-01-13 01:05:03 +00:00
Raymond Hettinger
f94d7fa5fb
Issue 1696199: Add collections.Counter().
2009-01-12 22:58:41 +00:00
Raymond Hettinger
6ee7bc04f7
Fix namedtuple bug reported by Glenn Linderman. Template did not form correctly if the field names were input in Unicode.
2008-09-25 23:31:52 +00:00