1
<?xml version="1.0" encoding="ascii"?>
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3
"DTD/xhtml1-transitional.dtd">
4
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6
<title>babel.util.odict</title>
7
<link rel="stylesheet" href="epydoc.css" type="text/css" />
8
<script type="text/javascript" src="epydoc.js"></script>
11
<body bgcolor="white" text="black" link="blue" vlink="#204080"
13
<!-- ==================== NAVIGATION BAR ==================== -->
14
<table class="navbar" border="0" width="100%" cellpadding="0"
15
bgcolor="#a0c0ff" cellspacing="0">
18
<th> <a
19
href="babel-module.html">Home</a> </th>
22
<th> <a
23
href="module-tree.html">Trees</a> </th>
26
<th> <a
27
href="identifier-index.html">Indices</a> </th>
30
<th> <a
31
href="help.html">Help</a> </th>
33
<!-- Project homepage -->
34
<th class="navbar" align="right" width="100%">
35
<table border="0" cellpadding="0" cellspacing="0">
36
<tr><th class="navbar" align="center"
37
><a class="navbar" target="_top" href="../index.html">Documentation Index</a></th>
41
<table width="100%" cellpadding="0" cellspacing="0">
44
<span class="breadcrumbs">
45
<a href="babel-module.html">Package babel</a> ::
46
<a href="babel.util-module.html">Module util</a> ::
51
<table cellpadding="0" cellspacing="0">
52
<!-- hide/show private -->
57
<!-- ==================== CLASS DESCRIPTION ==================== -->
58
<h1 class="epydoc">Class odict</h1><p class="nomargin-top"></p>
59
<pre class="base-tree">
64
<strong class="uidshort">odict</strong>
68
Ordered dict implementation.
71
<div class="fields"> <p><strong>See Also:</strong>
72
<a class="rst-reference external" href="http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/107747" target="_top">http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/107747</a>
74
</div><!-- ==================== INSTANCE METHODS ==================== -->
75
<a name="section-InstanceMethods"></a>
76
<table class="summary" border="1" cellpadding="3"
77
cellspacing="0" width="100%" bgcolor="white">
78
<tr bgcolor="#70b0f0" class="table-header">
79
<td align="left" colspan="2" class="table-header">
80
<span class="table-header">Instance Methods</span></td>
83
<td width="15%" align="right" valign="top" class="summary">
84
<span class="summary-type"><pre class="literalblock">
88
</td><td class="summary">
89
<table width="100%" cellpadding="0" cellspacing="0" border="0">
91
<td><span class="summary-sig"><a href="babel.util.odict-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
92
<span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>)</span><br />
93
x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
94
<td align="right" valign="top">
104
<td width="15%" align="right" valign="top" class="summary">
105
<span class="summary-type"> </span>
106
</td><td class="summary">
107
<table width="100%" cellpadding="0" cellspacing="0" border="0">
109
<td><span class="summary-sig"><a href="babel.util.odict-class.html#__delitem__" class="summary-sig-name">__delitem__</a>(<span class="summary-sig-arg">self</span>,
110
<span class="summary-sig-arg">key</span>)</span><br />
112
<td align="right" valign="top">
122
<td width="15%" align="right" valign="top" class="summary">
123
<span class="summary-type"> </span>
124
</td><td class="summary">
125
<table width="100%" cellpadding="0" cellspacing="0" border="0">
127
<td><span class="summary-sig"><a href="babel.util.odict-class.html#__setitem__" class="summary-sig-name">__setitem__</a>(<span class="summary-sig-arg">self</span>,
128
<span class="summary-sig-arg">key</span>,
129
<span class="summary-sig-arg">item</span>)</span><br />
131
<td align="right" valign="top">
141
<td width="15%" align="right" valign="top" class="summary">
142
<span class="summary-type">an iterator over the keys of D</span>
143
</td><td class="summary">
144
<table width="100%" cellpadding="0" cellspacing="0" border="0">
146
<td><span class="summary-sig"><a href="babel.util.odict-class.html#__iter__" class="summary-sig-name">__iter__</a>(<span class="summary-sig-arg">self</span>)</span><br />
148
<td align="right" valign="top">
158
<td width="15%" align="right" valign="top" class="summary">
159
<span class="summary-type">an iterator over the keys of D</span>
160
</td><td class="summary">
161
<table width="100%" cellpadding="0" cellspacing="0" border="0">
163
<td><span class="summary-sig"><a href="babel.util.odict-class.html#iterkeys" class="summary-sig-name">iterkeys</a>(<span class="summary-sig-arg">self</span>)</span><br />
165
<td align="right" valign="top">
175
<td width="15%" align="right" valign="top" class="summary">
176
<span class="summary-type">None</span>
177
</td><td class="summary">
178
<table width="100%" cellpadding="0" cellspacing="0" border="0">
180
<td><span class="summary-sig"><a href="babel.util.odict-class.html#clear" class="summary-sig-name">clear</a>(<span class="summary-sig-arg">self</span>)</span><br />
181
Remove all items from D.</td>
182
<td align="right" valign="top">
192
<td width="15%" align="right" valign="top" class="summary">
193
<span class="summary-type">a shallow copy of D</span>
194
</td><td class="summary">
195
<table width="100%" cellpadding="0" cellspacing="0" border="0">
197
<td><span class="summary-sig"><a href="babel.util.odict-class.html#copy" class="summary-sig-name">copy</a>(<span class="summary-sig-arg">self</span>)</span></td>
198
<td align="right" valign="top">
208
<td width="15%" align="right" valign="top" class="summary">
209
<span class="summary-type">list of D's (key, value) pairs, as 2-tuples</span>
210
</td><td class="summary">
211
<table width="100%" cellpadding="0" cellspacing="0" border="0">
213
<td><span class="summary-sig"><a href="babel.util.odict-class.html#items" class="summary-sig-name">items</a>(<span class="summary-sig-arg">self</span>)</span></td>
214
<td align="right" valign="top">
224
<td width="15%" align="right" valign="top" class="summary">
225
<span class="summary-type">an iterator over the (key, value) items of D</span>
226
</td><td class="summary">
227
<table width="100%" cellpadding="0" cellspacing="0" border="0">
229
<td><span class="summary-sig"><a href="babel.util.odict-class.html#iteritems" class="summary-sig-name">iteritems</a>(<span class="summary-sig-arg">self</span>)</span></td>
230
<td align="right" valign="top">
240
<td width="15%" align="right" valign="top" class="summary">
241
<span class="summary-type">list of D's keys</span>
242
</td><td class="summary">
243
<table width="100%" cellpadding="0" cellspacing="0" border="0">
245
<td><span class="summary-sig"><a href="babel.util.odict-class.html#keys" class="summary-sig-name">keys</a>(<span class="summary-sig-arg">self</span>)</span></td>
246
<td align="right" valign="top">
256
<td width="15%" align="right" valign="top" class="summary">
257
<span class="summary-type">v, remove specified key and return the corresponding value</span>
258
</td><td class="summary">
259
<table width="100%" cellpadding="0" cellspacing="0" border="0">
261
<td><span class="summary-sig"><a href="babel.util.odict-class.html#pop" class="summary-sig-name">pop</a>(<span class="summary-sig-arg">self</span>,
262
<span class="summary-sig-arg">key</span>,
263
<span class="summary-sig-arg">default</span>=<span class="summary-sig-default">missing</span>)</span><br />
264
If key is not found, d is returned if given, otherwise KeyError is raised</td>
265
<td align="right" valign="top">
275
<td width="15%" align="right" valign="top" class="summary">
276
<span class="summary-type">(k, v), remove and return some (key, value) pair as a</span>
277
</td><td class="summary">
278
<table width="100%" cellpadding="0" cellspacing="0" border="0">
280
<td><span class="summary-sig"><a href="babel.util.odict-class.html#popitem" class="summary-sig-name">popitem</a>(<span class="summary-sig-arg">self</span>,
281
<span class="summary-sig-arg">key</span>)</span><br />
282
2-tuple; but raise KeyError if D is empty.</td>
283
<td align="right" valign="top">
293
<td width="15%" align="right" valign="top" class="summary">
294
<span class="summary-type">D.get(k,d), also set D[k]=d if k not in D</span>
295
</td><td class="summary">
296
<table width="100%" cellpadding="0" cellspacing="0" border="0">
298
<td><span class="summary-sig"><a href="babel.util.odict-class.html#setdefault" class="summary-sig-name">setdefault</a>(<span class="summary-sig-arg">self</span>,
299
<span class="summary-sig-arg">key</span>,
300
<span class="summary-sig-arg">failobj</span>=<span class="summary-sig-default">None</span>)</span></td>
301
<td align="right" valign="top">
311
<td width="15%" align="right" valign="top" class="summary">
312
<span class="summary-type">None</span>
313
</td><td class="summary">
314
<table width="100%" cellpadding="0" cellspacing="0" border="0">
316
<td><span class="summary-sig"><a href="babel.util.odict-class.html#update" class="summary-sig-name">update</a>(<span class="summary-sig-arg">self</span>,
317
<span class="summary-sig-arg">dict</span>)</span><br />
318
Update D from dict/iterable E and F.</td>
319
<td align="right" valign="top">
329
<td width="15%" align="right" valign="top" class="summary">
330
<span class="summary-type">list of D's values</span>
331
</td><td class="summary">
332
<table width="100%" cellpadding="0" cellspacing="0" border="0">
334
<td><span class="summary-sig"><a href="babel.util.odict-class.html#values" class="summary-sig-name">values</a>(<span class="summary-sig-arg">self</span>)</span></td>
335
<td align="right" valign="top">
345
<td width="15%" align="right" valign="top" class="summary">
346
<span class="summary-type">an iterator over the values of D</span>
347
</td><td class="summary">
348
<table width="100%" cellpadding="0" cellspacing="0" border="0">
350
<td><span class="summary-sig"><a href="babel.util.odict-class.html#itervalues" class="summary-sig-name">itervalues</a>(<span class="summary-sig-arg">self</span>)</span></td>
351
<td align="right" valign="top">
361
<td colspan="2" class="summary">
362
<p class="indent-wrapped-lines"><b>Inherited from <code>dict</code></b>:
363
<code>__cmp__</code>,
364
<code>__contains__</code>,
367
<code>__getattribute__</code>,
368
<code>__getitem__</code>,
371
<code>__len__</code>,
374
<code>__new__</code>,
375
<code>__repr__</code>,
376
<code>__sizeof__</code>,
377
<code>fromkeys</code>,
379
<code>has_key</code>,
380
<code>viewitems</code>,
381
<code>viewkeys</code>,
382
<code>viewvalues</code>
384
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
385
<code>__delattr__</code>,
386
<code>__format__</code>,
387
<code>__reduce__</code>,
388
<code>__reduce_ex__</code>,
389
<code>__setattr__</code>,
390
<code>__str__</code>,
391
<code>__subclasshook__</code>
396
<!-- ==================== CLASS VARIABLES ==================== -->
397
<a name="section-ClassVariables"></a>
398
<table class="summary" border="1" cellpadding="3"
399
cellspacing="0" width="100%" bgcolor="white">
400
<tr bgcolor="#70b0f0" class="table-header">
401
<td align="left" colspan="2" class="table-header">
402
<span class="table-header">Class Variables</span></td>
405
<td colspan="2" class="summary">
406
<p class="indent-wrapped-lines"><b>Inherited from <code>dict</code></b>:
407
<code>__hash__</code>
412
<!-- ==================== PROPERTIES ==================== -->
413
<a name="section-Properties"></a>
414
<table class="summary" border="1" cellpadding="3"
415
cellspacing="0" width="100%" bgcolor="white">
416
<tr bgcolor="#70b0f0" class="table-header">
417
<td align="left" colspan="2" class="table-header">
418
<span class="table-header">Properties</span></td>
421
<td colspan="2" class="summary">
422
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
423
<code>__class__</code>
428
<!-- ==================== METHOD DETAILS ==================== -->
429
<a name="section-MethodDetails"></a>
430
<table class="details" border="1" cellpadding="3"
431
cellspacing="0" width="100%" bgcolor="white">
432
<tr bgcolor="#70b0f0" class="table-header">
433
<td align="left" colspan="2" class="table-header">
434
<span class="table-header">Method Details</span></td>
437
<a name="__init__"></a>
439
<table class="details" border="1" cellpadding="3"
440
cellspacing="0" width="100%" bgcolor="white">
442
<table width="100%" cellpadding="0" cellspacing="0" border="0">
443
<tr valign="top"><td>
444
<h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
445
<span class="sig-arg">data</span>=<span class="sig-default">None</span>)</span>
446
<br /><em class="fname">(Constructor)</em>
448
</td><td align="right" valign="top"
453
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
455
<dt>Returns: <pre class="literalblock">
461
<dd><em class="note">(inherited documentation)</em></dd>
466
<a name="__delitem__"></a>
468
<table class="details" border="1" cellpadding="3"
469
cellspacing="0" width="100%" bgcolor="white">
471
<table width="100%" cellpadding="0" cellspacing="0" border="0">
472
<tr valign="top"><td>
473
<h3 class="epydoc"><span class="sig"><span class="sig-name">__delitem__</span>(<span class="sig-arg">self</span>,
474
<span class="sig-arg">key</span>)</span>
475
<br /><em class="fname">(Index deletion operator)</em>
477
</td><td align="right" valign="top"
486
<dd><em class="note">(inherited documentation)</em></dd>
491
<a name="__setitem__"></a>
493
<table class="details" border="1" cellpadding="3"
494
cellspacing="0" width="100%" bgcolor="white">
496
<table width="100%" cellpadding="0" cellspacing="0" border="0">
497
<tr valign="top"><td>
498
<h3 class="epydoc"><span class="sig"><span class="sig-name">__setitem__</span>(<span class="sig-arg">self</span>,
499
<span class="sig-arg">key</span>,
500
<span class="sig-arg">item</span>)</span>
501
<br /><em class="fname">(Index assignment operator)</em>
503
</td><td align="right" valign="top"
512
<dd><em class="note">(inherited documentation)</em></dd>
517
<a name="__iter__"></a>
519
<table class="details" border="1" cellpadding="3"
520
cellspacing="0" width="100%" bgcolor="white">
522
<table width="100%" cellpadding="0" cellspacing="0" border="0">
523
<tr valign="top"><td>
524
<h3 class="epydoc"><span class="sig"><span class="sig-name">__iter__</span>(<span class="sig-arg">self</span>)</span>
526
</td><td align="right" valign="top"
533
<dt>Returns: an iterator over the keys of D</dt>
536
<dd><em class="note">(inherited documentation)</em></dd>
541
<a name="iterkeys"></a>
543
<table class="details" border="1" cellpadding="3"
544
cellspacing="0" width="100%" bgcolor="white">
546
<table width="100%" cellpadding="0" cellspacing="0" border="0">
547
<tr valign="top"><td>
548
<h3 class="epydoc"><span class="sig"><span class="sig-name">iterkeys</span>(<span class="sig-arg">self</span>)</span>
550
</td><td align="right" valign="top"
557
<dt>Returns: an iterator over the keys of D</dt>
560
<dd><em class="note">(inherited documentation)</em></dd>
567
<table class="details" border="1" cellpadding="3"
568
cellspacing="0" width="100%" bgcolor="white">
570
<table width="100%" cellpadding="0" cellspacing="0" border="0">
571
<tr valign="top"><td>
572
<h3 class="epydoc"><span class="sig"><span class="sig-name">clear</span>(<span class="sig-arg">self</span>)</span>
574
</td><td align="right" valign="top"
579
Remove all items from D.
581
<dt>Returns: None</dt>
584
<dd><em class="note">(inherited documentation)</em></dd>
591
<table class="details" border="1" cellpadding="3"
592
cellspacing="0" width="100%" bgcolor="white">
594
<table width="100%" cellpadding="0" cellspacing="0" border="0">
595
<tr valign="top"><td>
596
<h3 class="epydoc"><span class="sig"><span class="sig-name">copy</span>(<span class="sig-arg">self</span>)</span>
598
</td><td align="right" valign="top"
605
<dt>Returns: a shallow copy of D</dt>
608
<dd><em class="note">(inherited documentation)</em></dd>
615
<table class="details" border="1" cellpadding="3"
616
cellspacing="0" width="100%" bgcolor="white">
618
<table width="100%" cellpadding="0" cellspacing="0" border="0">
619
<tr valign="top"><td>
620
<h3 class="epydoc"><span class="sig"><span class="sig-name">items</span>(<span class="sig-arg">self</span>)</span>
622
</td><td align="right" valign="top"
629
<dt>Returns: list of D's (key, value) pairs, as 2-tuples</dt>
632
<dd><em class="note">(inherited documentation)</em></dd>
637
<a name="iteritems"></a>
639
<table class="details" border="1" cellpadding="3"
640
cellspacing="0" width="100%" bgcolor="white">
642
<table width="100%" cellpadding="0" cellspacing="0" border="0">
643
<tr valign="top"><td>
644
<h3 class="epydoc"><span class="sig"><span class="sig-name">iteritems</span>(<span class="sig-arg">self</span>)</span>
646
</td><td align="right" valign="top"
653
<dt>Returns: an iterator over the (key, value) items of D</dt>
656
<dd><em class="note">(inherited documentation)</em></dd>
663
<table class="details" border="1" cellpadding="3"
664
cellspacing="0" width="100%" bgcolor="white">
666
<table width="100%" cellpadding="0" cellspacing="0" border="0">
667
<tr valign="top"><td>
668
<h3 class="epydoc"><span class="sig"><span class="sig-name">keys</span>(<span class="sig-arg">self</span>)</span>
670
</td><td align="right" valign="top"
677
<dt>Returns: list of D's keys</dt>
680
<dd><em class="note">(inherited documentation)</em></dd>
687
<table class="details" border="1" cellpadding="3"
688
cellspacing="0" width="100%" bgcolor="white">
690
<table width="100%" cellpadding="0" cellspacing="0" border="0">
691
<tr valign="top"><td>
692
<h3 class="epydoc"><span class="sig"><span class="sig-name">pop</span>(<span class="sig-arg">self</span>,
693
<span class="sig-arg">key</span>,
694
<span class="sig-arg">default</span>=<span class="sig-default">missing</span>)</span>
696
</td><td align="right" valign="top"
701
If key is not found, d is returned if given, otherwise KeyError is raised
703
<dt>Returns: v, remove specified key and return the corresponding value</dt>
706
<dd><em class="note">(inherited documentation)</em></dd>
711
<a name="popitem"></a>
713
<table class="details" border="1" cellpadding="3"
714
cellspacing="0" width="100%" bgcolor="white">
716
<table width="100%" cellpadding="0" cellspacing="0" border="0">
717
<tr valign="top"><td>
718
<h3 class="epydoc"><span class="sig"><span class="sig-name">popitem</span>(<span class="sig-arg">self</span>,
719
<span class="sig-arg">key</span>)</span>
721
</td><td align="right" valign="top"
726
2-tuple; but raise KeyError if D is empty.
728
<dt>Returns: (k, v), remove and return some (key, value) pair as a</dt>
731
<dd><em class="note">(inherited documentation)</em></dd>
736
<a name="setdefault"></a>
738
<table class="details" border="1" cellpadding="3"
739
cellspacing="0" width="100%" bgcolor="white">
741
<table width="100%" cellpadding="0" cellspacing="0" border="0">
742
<tr valign="top"><td>
743
<h3 class="epydoc"><span class="sig"><span class="sig-name">setdefault</span>(<span class="sig-arg">self</span>,
744
<span class="sig-arg">key</span>,
745
<span class="sig-arg">failobj</span>=<span class="sig-default">None</span>)</span>
747
</td><td align="right" valign="top"
754
<dt>Returns: D.get(k,d), also set D[k]=d if k not in D</dt>
757
<dd><em class="note">(inherited documentation)</em></dd>
762
<a name="update"></a>
764
<table class="details" border="1" cellpadding="3"
765
cellspacing="0" width="100%" bgcolor="white">
767
<table width="100%" cellpadding="0" cellspacing="0" border="0">
768
<tr valign="top"><td>
769
<h3 class="epydoc"><span class="sig"><span class="sig-name">update</span>(<span class="sig-arg">self</span>,
770
<span class="sig-arg">dict</span>)</span>
772
</td><td align="right" valign="top"
777
Update D from dict/iterable E and F.
778
If E has a .keys() method, does: for k in E: D[k] = E[k]
779
If E lacks .keys() method, does: for (k, v) in E: D[k] = v
780
In either case, this is followed by: for k in F: D[k] = F[k]
782
<dt>Returns: None</dt>
785
<dd><em class="note">(inherited documentation)</em></dd>
790
<a name="values"></a>
792
<table class="details" border="1" cellpadding="3"
793
cellspacing="0" width="100%" bgcolor="white">
795
<table width="100%" cellpadding="0" cellspacing="0" border="0">
796
<tr valign="top"><td>
797
<h3 class="epydoc"><span class="sig"><span class="sig-name">values</span>(<span class="sig-arg">self</span>)</span>
799
</td><td align="right" valign="top"
806
<dt>Returns: list of D's values</dt>
809
<dd><em class="note">(inherited documentation)</em></dd>
814
<a name="itervalues"></a>
816
<table class="details" border="1" cellpadding="3"
817
cellspacing="0" width="100%" bgcolor="white">
819
<table width="100%" cellpadding="0" cellspacing="0" border="0">
820
<tr valign="top"><td>
821
<h3 class="epydoc"><span class="sig"><span class="sig-name">itervalues</span>(<span class="sig-arg">self</span>)</span>
823
</td><td align="right" valign="top"
830
<dt>Returns: an iterator over the values of D</dt>
833
<dd><em class="note">(inherited documentation)</em></dd>
839
<!-- ==================== NAVIGATION BAR ==================== -->
840
<table class="navbar" border="0" width="100%" cellpadding="0"
841
bgcolor="#a0c0ff" cellspacing="0">
844
<th> <a
845
href="babel-module.html">Home</a> </th>
848
<th> <a
849
href="module-tree.html">Trees</a> </th>
852
<th> <a
853
href="identifier-index.html">Indices</a> </th>
856
<th> <a
857
href="help.html">Help</a> </th>
859
<!-- Project homepage -->
860
<th class="navbar" align="right" width="100%">
861
<table border="0" cellpadding="0" cellspacing="0">
862
<tr><th class="navbar" align="center"
863
><a class="navbar" target="_top" href="../index.html">Documentation Index</a></th>
867
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
869
<td align="left" class="footer">
870
Generated by Epydoc 3.0.1 on Thu Mar 17 15:12:45 2011
872
<td align="right" class="footer">
873
<a target="mainFrame" href="http://epydoc.sourceforge.net"
874
>http://epydoc.sourceforge.net</a>
879
<script type="text/javascript">
881
// Private objects are initially displayed (because if
882
// javascript is turned off then we want them to be
883
// visible); but by default, we want to hide them. So hide
884
// them unless we have a cookie that says to show them.