1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
---|
2 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
---|
3 | |
---|
4 | |
---|
5 | <html xmlns="http://www.w3.org/1999/xhtml"> |
---|
6 | <head> |
---|
7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
8 | |
---|
9 | <title>sas.data_util package — SasView 3.0.0 documentation</title> |
---|
10 | |
---|
11 | <link rel="stylesheet" href="../../_static/default.css" type="text/css" /> |
---|
12 | <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> |
---|
13 | |
---|
14 | <script type="text/javascript"> |
---|
15 | var DOCUMENTATION_OPTIONS = { |
---|
16 | URL_ROOT: '../../', |
---|
17 | VERSION: '3.0.0', |
---|
18 | COLLAPSE_INDEX: false, |
---|
19 | FILE_SUFFIX: '.html', |
---|
20 | HAS_SOURCE: true |
---|
21 | }; |
---|
22 | </script> |
---|
23 | <script type="text/javascript" src="../../_static/jquery.js"></script> |
---|
24 | <script type="text/javascript" src="../../_static/underscore.js"></script> |
---|
25 | <script type="text/javascript" src="../../_static/doctools.js"></script> |
---|
26 | <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> |
---|
27 | <link rel="top" title="SasView 3.0.0 documentation" href="../../index.html" /> |
---|
28 | <link rel="up" title="sas package" href="sas.html" /> |
---|
29 | <link rel="next" title="sas.dataloader package" href="sas.dataloader.html" /> |
---|
30 | <link rel="prev" title="sas.calculator package" href="sas.calculator.html" /> |
---|
31 | </head> |
---|
32 | <body> |
---|
33 | <div class="related"> |
---|
34 | <h3>Navigation</h3> |
---|
35 | <ul> |
---|
36 | <li class="right" style="margin-right: 10px"> |
---|
37 | <a href="../../genindex.html" title="General Index" |
---|
38 | accesskey="I">index</a></li> |
---|
39 | <li class="right" > |
---|
40 | <a href="../../py-modindex.html" title="Python Module Index" |
---|
41 | >modules</a> |</li> |
---|
42 | <li class="right" > |
---|
43 | <a href="sas.dataloader.html" title="sas.dataloader package" |
---|
44 | accesskey="N">next</a> |</li> |
---|
45 | <li class="right" > |
---|
46 | <a href="sas.calculator.html" title="sas.calculator package" |
---|
47 | accesskey="P">previous</a> |</li> |
---|
48 | <li><a href="../../index.html">SasView 3.0.0 documentation</a> »</li> |
---|
49 | <li><a href="../dev.html" >Developer Documentation</a> »</li> |
---|
50 | <li><a href="modules.html" >lib.macosx-10.5-x86_64-2.7</a> »</li> |
---|
51 | <li><a href="sas.html" accesskey="U">sas package</a> »</li> |
---|
52 | </ul> |
---|
53 | </div> |
---|
54 | |
---|
55 | <div class="document"> |
---|
56 | <div class="documentwrapper"> |
---|
57 | <div class="bodywrapper"> |
---|
58 | <div class="body"> |
---|
59 | |
---|
60 | <div class="section" id="sas-data-util-package"> |
---|
61 | <h1>sas.data_util package</h1> |
---|
62 | <div class="section" id="submodules"> |
---|
63 | <h2>Submodules</h2> |
---|
64 | </div> |
---|
65 | <div class="section" id="module-sas.data_util.calcthread"> |
---|
66 | <span id="sas-data-util-calcthread-module"></span><h2>sas.data_util.calcthread module</h2> |
---|
67 | <dl class="class"> |
---|
68 | <dt id="sas.data_util.calcthread.CalcCommandline"> |
---|
69 | <em class="property">class </em><tt class="descclassname">sas.data_util.calcthread.</tt><tt class="descname">CalcCommandline</tt><big>(</big><em>n=20000</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/calcthread.html#CalcCommandline"><span class="viewcode-link">[source]</span></a></dt> |
---|
70 | <dd><p>Test method</p> |
---|
71 | <dl class="method"> |
---|
72 | <dt id="sas.data_util.calcthread.CalcCommandline.complete"> |
---|
73 | <tt class="descname">complete</tt><big>(</big><em>total=0.0</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/calcthread.html#CalcCommandline.complete"><span class="viewcode-link">[source]</span></a></dt> |
---|
74 | <dd></dd></dl> |
---|
75 | |
---|
76 | <dl class="method"> |
---|
77 | <dt id="sas.data_util.calcthread.CalcCommandline.update"> |
---|
78 | <tt class="descname">update</tt><big>(</big><em>i=0</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/calcthread.html#CalcCommandline.update"><span class="viewcode-link">[source]</span></a></dt> |
---|
79 | <dd></dd></dl> |
---|
80 | |
---|
81 | </dd></dl> |
---|
82 | |
---|
83 | <dl class="class"> |
---|
84 | <dt id="sas.data_util.calcthread.CalcDemo"> |
---|
85 | <em class="property">class </em><tt class="descclassname">sas.data_util.calcthread.</tt><tt class="descname">CalcDemo</tt><big>(</big><em>completefn=None</em>, <em>updatefn=None</em>, <em>yieldtime=0.01</em>, <em>worktime=0.01</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/calcthread.html#CalcDemo"><span class="viewcode-link">[source]</span></a></dt> |
---|
86 | <dd><p>Bases: <a class="reference internal" href="#sas.data_util.calcthread.CalcThread" title="sas.data_util.calcthread.CalcThread"><tt class="xref py py-class docutils literal"><span class="pre">sas.data_util.calcthread.CalcThread</span></tt></a></p> |
---|
87 | <p>Example of a calculation thread.</p> |
---|
88 | <dl class="method"> |
---|
89 | <dt id="sas.data_util.calcthread.CalcDemo.compute"> |
---|
90 | <tt class="descname">compute</tt><big>(</big><em>n</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/calcthread.html#CalcDemo.compute"><span class="viewcode-link">[source]</span></a></dt> |
---|
91 | <dd></dd></dl> |
---|
92 | |
---|
93 | </dd></dl> |
---|
94 | |
---|
95 | <dl class="class"> |
---|
96 | <dt id="sas.data_util.calcthread.CalcThread"> |
---|
97 | <em class="property">class </em><tt class="descclassname">sas.data_util.calcthread.</tt><tt class="descname">CalcThread</tt><big>(</big><em>completefn=None</em>, <em>updatefn=None</em>, <em>yieldtime=0.01</em>, <em>worktime=0.01</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/calcthread.html#CalcThread"><span class="viewcode-link">[source]</span></a></dt> |
---|
98 | <dd><p>Threaded calculation class. Inherit from here and specialize |
---|
99 | the compute() method to perform the appropriate operations for the |
---|
100 | class.</p> |
---|
101 | <p>If you specialize the __init__ method be sure to call |
---|
102 | CalcThread.__init__, passing it the keyword arguments for |
---|
103 | yieldtime, worktime, update and complete.</p> |
---|
104 | <p>When defining the compute() method you need to include code which |
---|
105 | allows the GUI to run. They are as follows:</p> |
---|
106 | <div class="highlight-python"><div class="highlight"><pre><span class="bp">self</span><span class="o">.</span><span class="n">isquit</span><span class="p">()</span> <span class="c"># call frequently to check for interrupts</span> |
---|
107 | <span class="bp">self</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">kw</span><span class="o">=...</span><span class="p">)</span> <span class="c"># call when the GUI could be updated</span> |
---|
108 | <span class="bp">self</span><span class="o">.</span><span class="n">complete</span><span class="p">(</span><span class="n">kw</span><span class="o">=...</span><span class="p">)</span> <span class="c"># call before exiting compute()</span> |
---|
109 | </pre></div> |
---|
110 | </div> |
---|
111 | <p>The update() and complete() calls accept field=value keyword |
---|
112 | arguments which are passed to the called function. complete() |
---|
113 | should be called before exiting the GUI function. A KeyboardInterrupt |
---|
114 | event is triggered if the GUI signals that the computation should |
---|
115 | be halted.</p> |
---|
116 | <p>The following documentation should be included in the description |
---|
117 | of the derived class.</p> |
---|
118 | <p>The user of this class will call the following:</p> |
---|
119 | <div class="highlight-python"><div class="highlight"><pre><span class="n">thread</span> <span class="o">=</span> <span class="n">Work</span><span class="p">(</span><span class="o">...</span><span class="p">,</span><span class="n">kw</span><span class="o">=...</span><span class="p">)</span> <span class="c"># prepare the work thread.</span> |
---|
120 | <span class="n">thread</span><span class="o">.</span><span class="n">queue</span><span class="p">(</span><span class="o">...</span><span class="p">,</span><span class="n">kw</span><span class="o">=...</span><span class="p">)</span> <span class="c"># queue a work unit</span> |
---|
121 | <span class="n">thread</span><span class="o">.</span><span class="n">requeue</span><span class="p">(</span><span class="o">...</span><span class="p">,</span><span class="n">kw</span><span class="o">=...</span><span class="p">)</span> <span class="c"># replace work unit on the end of queue</span> |
---|
122 | <span class="n">thread</span><span class="o">.</span><span class="n">reset</span><span class="p">(</span><span class="o">...</span><span class="p">,</span><span class="n">kw</span><span class="o">=...</span><span class="p">)</span> <span class="c"># reset the queue to the given work unit</span> |
---|
123 | <span class="n">thread</span><span class="o">.</span><span class="n">stop</span><span class="p">()</span> <span class="c"># clear the queue and halt</span> |
---|
124 | <span class="n">thread</span><span class="o">.</span><span class="n">interrupt</span><span class="p">()</span> <span class="c"># halt the current work unit but continue</span> |
---|
125 | <span class="n">thread</span><span class="o">.</span><span class="n">ready</span><span class="p">(</span><span class="n">delay</span><span class="o">=</span><span class="mf">0.</span><span class="p">)</span> <span class="c"># request an update signal after delay</span> |
---|
126 | <span class="n">thread</span><span class="o">.</span><span class="n">isrunning</span><span class="p">()</span> <span class="c"># returns true if compute() is running</span> |
---|
127 | </pre></div> |
---|
128 | </div> |
---|
129 | <p>Use queue() when all work must be done. Use requeue() when intermediate |
---|
130 | work items don’t need to be done (e.g., in response to a mouse move |
---|
131 | event). Use reset() when the current item doesn’t need to be completed |
---|
132 | before the new event (e.g., in response to a mouse release event). Use |
---|
133 | stop() to halt the current and pending computations (e.g., in response to |
---|
134 | a stop button).</p> |
---|
135 | <p>The methods queue(), requeue() and reset() are proxies for the compute() |
---|
136 | method in the subclass. Look there for a description of the arguments. |
---|
137 | The compute() method can be called directly to run the computation in |
---|
138 | the main thread, but it should not be called if isrunning() returns true.</p> |
---|
139 | <p>The constructor accepts additional keywords yieldtime=0.01 and |
---|
140 | worktime=0.01 which determine the cooperative multitasking |
---|
141 | behaviour. Yield time is the duration of the sleep period |
---|
142 | required to give other processes a chance to run. Work time |
---|
143 | is the duration between sleep periods.</p> |
---|
144 | <p>Notifying the GUI thread of work in progress and work complete |
---|
145 | is done with updatefn=updatefn and completefn=completefn arguments |
---|
146 | to the constructor. Details of the parameters to the functions |
---|
147 | depend on the particular calculation class, but they will all |
---|
148 | be passed as keyword arguments. Details of how the functions |
---|
149 | should be implemented vary from framework to framework.</p> |
---|
150 | <p>For wx, something like the following is needed:</p> |
---|
151 | <div class="highlight-python"><div class="highlight"><pre>import wx, wx.lib.newevent |
---|
152 | (CalcCompleteEvent, EVT_CALC_COMPLETE) = wx.lib.newevent.NewEvent() |
---|
153 | |
---|
154 | # methods in the main window class of your application |
---|
155 | def __init__(): |
---|
156 | ... |
---|
157 | # Prepare the calculation in the GUI thread. |
---|
158 | self.work = Work(completefn=self.CalcComplete) |
---|
159 | self.Bind(EVT_CALC_COMPLETE, self.OnCalcComplete) |
---|
160 | ... |
---|
161 | # Bind work queue to a menu event. |
---|
162 | self.Bind(wx.EVT_MENU, self.OnCalcStart, id=idCALCSTART) |
---|
163 | ... |
---|
164 | |
---|
165 | def OnCalcStart(self,event): |
---|
166 | # Start the work thread from the GUI thread. |
---|
167 | self.work.queue(...work unit parameters...) |
---|
168 | |
---|
169 | def CalcComplete(self,**kwargs): |
---|
170 | # Generate CalcComplete event in the calculation thread. |
---|
171 | # kwargs contains field1, field2, etc. as defined by |
---|
172 | # the Work thread class. |
---|
173 | event = CalcCompleteEvent(**kwargs) |
---|
174 | wx.PostEvent(self, event) |
---|
175 | |
---|
176 | def OnCalcComplete(self,event): |
---|
177 | # Process CalcComplete event in GUI thread. |
---|
178 | # Use values from event.field1, event.field2 etc. as |
---|
179 | # defined by the Work thread class to show the results. |
---|
180 | ... |
---|
181 | </pre></div> |
---|
182 | </div> |
---|
183 | <dl class="method"> |
---|
184 | <dt id="sas.data_util.calcthread.CalcThread.complete"> |
---|
185 | <tt class="descname">complete</tt><big>(</big><em>**kwargs</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/calcthread.html#CalcThread.complete"><span class="viewcode-link">[source]</span></a></dt> |
---|
186 | <dd><p>Update the GUI with the completed results from a work unit.</p> |
---|
187 | </dd></dl> |
---|
188 | |
---|
189 | <dl class="method"> |
---|
190 | <dt id="sas.data_util.calcthread.CalcThread.compute"> |
---|
191 | <tt class="descname">compute</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/calcthread.html#CalcThread.compute"><span class="viewcode-link">[source]</span></a></dt> |
---|
192 | <dd><p>Perform a work unit. The subclass will provide details of |
---|
193 | the arguments.</p> |
---|
194 | </dd></dl> |
---|
195 | |
---|
196 | <dl class="method"> |
---|
197 | <dt id="sas.data_util.calcthread.CalcThread.interrupt"> |
---|
198 | <tt class="descname">interrupt</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/calcthread.html#CalcThread.interrupt"><span class="viewcode-link">[source]</span></a></dt> |
---|
199 | <dd><p>Stop the current work item. To clear the work queue as |
---|
200 | well call the stop() method.</p> |
---|
201 | </dd></dl> |
---|
202 | |
---|
203 | <dl class="method"> |
---|
204 | <dt id="sas.data_util.calcthread.CalcThread.isquit"> |
---|
205 | <tt class="descname">isquit</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/calcthread.html#CalcThread.isquit"><span class="viewcode-link">[source]</span></a></dt> |
---|
206 | <dd><p>Check for interrupts. Should be called frequently to |
---|
207 | provide user responsiveness. Also yields to other running |
---|
208 | threads, which is required for good performance on OS X.</p> |
---|
209 | </dd></dl> |
---|
210 | |
---|
211 | <dl class="method"> |
---|
212 | <dt id="sas.data_util.calcthread.CalcThread.isrunning"> |
---|
213 | <tt class="descname">isrunning</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/calcthread.html#CalcThread.isrunning"><span class="viewcode-link">[source]</span></a></dt> |
---|
214 | <dd></dd></dl> |
---|
215 | |
---|
216 | <dl class="method"> |
---|
217 | <dt id="sas.data_util.calcthread.CalcThread.queue"> |
---|
218 | <tt class="descname">queue</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/calcthread.html#CalcThread.queue"><span class="viewcode-link">[source]</span></a></dt> |
---|
219 | <dd><p>Add a work unit to the end of the queue. See the compute() |
---|
220 | method for details of the arguments to the work unit.</p> |
---|
221 | </dd></dl> |
---|
222 | |
---|
223 | <dl class="method"> |
---|
224 | <dt id="sas.data_util.calcthread.CalcThread.ready"> |
---|
225 | <tt class="descname">ready</tt><big>(</big><em>delay=0.0</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/calcthread.html#CalcThread.ready"><span class="viewcode-link">[source]</span></a></dt> |
---|
226 | <dd><p>Ready for another update after delay=t seconds. Call |
---|
227 | this for threads which can show intermediate results from |
---|
228 | long calculations.</p> |
---|
229 | </dd></dl> |
---|
230 | |
---|
231 | <dl class="method"> |
---|
232 | <dt id="sas.data_util.calcthread.CalcThread.requeue"> |
---|
233 | <tt class="descname">requeue</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/calcthread.html#CalcThread.requeue"><span class="viewcode-link">[source]</span></a></dt> |
---|
234 | <dd><p>Replace the work unit on the end of the queue. See the compute() |
---|
235 | method for details of the arguments to the work unit.</p> |
---|
236 | </dd></dl> |
---|
237 | |
---|
238 | <dl class="method"> |
---|
239 | <dt id="sas.data_util.calcthread.CalcThread.reset"> |
---|
240 | <tt class="descname">reset</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/calcthread.html#CalcThread.reset"><span class="viewcode-link">[source]</span></a></dt> |
---|
241 | <dd><p>Clear the queue and start a new work unit. See the compute() |
---|
242 | method for details of the arguments to the work unit.</p> |
---|
243 | </dd></dl> |
---|
244 | |
---|
245 | <dl class="method"> |
---|
246 | <dt id="sas.data_util.calcthread.CalcThread.stop"> |
---|
247 | <tt class="descname">stop</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/calcthread.html#CalcThread.stop"><span class="viewcode-link">[source]</span></a></dt> |
---|
248 | <dd><p>Clear the queue and stop the thread. New items may be |
---|
249 | queued after stop. To stop just the current work item, and |
---|
250 | continue the rest of the queue call the interrupt method</p> |
---|
251 | </dd></dl> |
---|
252 | |
---|
253 | <dl class="method"> |
---|
254 | <dt id="sas.data_util.calcthread.CalcThread.update"> |
---|
255 | <tt class="descname">update</tt><big>(</big><em>**kwargs</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/calcthread.html#CalcThread.update"><span class="viewcode-link">[source]</span></a></dt> |
---|
256 | <dd><p>Update GUI with the lastest results from the current work unit.</p> |
---|
257 | </dd></dl> |
---|
258 | |
---|
259 | </dd></dl> |
---|
260 | |
---|
261 | <dl class="function"> |
---|
262 | <dt id="sas.data_util.calcthread.clock"> |
---|
263 | <tt class="descclassname">sas.data_util.calcthread.</tt><tt class="descname">clock</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/calcthread.html#clock"><span class="viewcode-link">[source]</span></a></dt> |
---|
264 | <dd></dd></dl> |
---|
265 | |
---|
266 | <dl class="function"> |
---|
267 | <dt id="sas.data_util.calcthread.sleep"> |
---|
268 | <tt class="descclassname">sas.data_util.calcthread.</tt><tt class="descname">sleep</tt><big>(</big><em>t</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/calcthread.html#sleep"><span class="viewcode-link">[source]</span></a></dt> |
---|
269 | <dd></dd></dl> |
---|
270 | |
---|
271 | </div> |
---|
272 | <div class="section" id="module-sas.data_util.err1d"> |
---|
273 | <span id="sas-data-util-err1d-module"></span><h2>sas.data_util.err1d module</h2> |
---|
274 | <p>Error propogation algorithms for simple arithmetic</p> |
---|
275 | <p>Warning: like the underlying numpy library, the inplace operations |
---|
276 | may return values of the wrong type if some of the arguments are |
---|
277 | integers, so be sure to create them with floating point inputs.</p> |
---|
278 | <dl class="function"> |
---|
279 | <dt id="sas.data_util.err1d.add"> |
---|
280 | <tt class="descclassname">sas.data_util.err1d.</tt><tt class="descname">add</tt><big>(</big><em>X</em>, <em>varX</em>, <em>Y</em>, <em>varY</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/err1d.html#add"><span class="viewcode-link">[source]</span></a></dt> |
---|
281 | <dd><p>Addition with error propagation</p> |
---|
282 | </dd></dl> |
---|
283 | |
---|
284 | <dl class="function"> |
---|
285 | <dt id="sas.data_util.err1d.add_inplace"> |
---|
286 | <tt class="descclassname">sas.data_util.err1d.</tt><tt class="descname">add_inplace</tt><big>(</big><em>X</em>, <em>varX</em>, <em>Y</em>, <em>varY</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/err1d.html#add_inplace"><span class="viewcode-link">[source]</span></a></dt> |
---|
287 | <dd><p>In-place addition with error propagation</p> |
---|
288 | </dd></dl> |
---|
289 | |
---|
290 | <dl class="function"> |
---|
291 | <dt id="sas.data_util.err1d.div"> |
---|
292 | <tt class="descclassname">sas.data_util.err1d.</tt><tt class="descname">div</tt><big>(</big><em>X</em>, <em>varX</em>, <em>Y</em>, <em>varY</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/err1d.html#div"><span class="viewcode-link">[source]</span></a></dt> |
---|
293 | <dd><p>Division with error propagation</p> |
---|
294 | </dd></dl> |
---|
295 | |
---|
296 | <dl class="function"> |
---|
297 | <dt id="sas.data_util.err1d.div_inplace"> |
---|
298 | <tt class="descclassname">sas.data_util.err1d.</tt><tt class="descname">div_inplace</tt><big>(</big><em>X</em>, <em>varX</em>, <em>Y</em>, <em>varY</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/err1d.html#div_inplace"><span class="viewcode-link">[source]</span></a></dt> |
---|
299 | <dd><p>In-place division with error propagation</p> |
---|
300 | </dd></dl> |
---|
301 | |
---|
302 | <dl class="function"> |
---|
303 | <dt id="sas.data_util.err1d.exp"> |
---|
304 | <tt class="descclassname">sas.data_util.err1d.</tt><tt class="descname">exp</tt><big>(</big><em>X</em>, <em>varX</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/err1d.html#exp"><span class="viewcode-link">[source]</span></a></dt> |
---|
305 | <dd><p>Exponentiation with error propagation</p> |
---|
306 | </dd></dl> |
---|
307 | |
---|
308 | <dl class="function"> |
---|
309 | <dt id="sas.data_util.err1d.log"> |
---|
310 | <tt class="descclassname">sas.data_util.err1d.</tt><tt class="descname">log</tt><big>(</big><em>X</em>, <em>varX</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/err1d.html#log"><span class="viewcode-link">[source]</span></a></dt> |
---|
311 | <dd><p>Logarithm with error propagation</p> |
---|
312 | </dd></dl> |
---|
313 | |
---|
314 | <dl class="function"> |
---|
315 | <dt id="sas.data_util.err1d.mul"> |
---|
316 | <tt class="descclassname">sas.data_util.err1d.</tt><tt class="descname">mul</tt><big>(</big><em>X</em>, <em>varX</em>, <em>Y</em>, <em>varY</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/err1d.html#mul"><span class="viewcode-link">[source]</span></a></dt> |
---|
317 | <dd><p>Multiplication with error propagation</p> |
---|
318 | </dd></dl> |
---|
319 | |
---|
320 | <dl class="function"> |
---|
321 | <dt id="sas.data_util.err1d.mul_inplace"> |
---|
322 | <tt class="descclassname">sas.data_util.err1d.</tt><tt class="descname">mul_inplace</tt><big>(</big><em>X</em>, <em>varX</em>, <em>Y</em>, <em>varY</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/err1d.html#mul_inplace"><span class="viewcode-link">[source]</span></a></dt> |
---|
323 | <dd><p>In-place multiplication with error propagation</p> |
---|
324 | </dd></dl> |
---|
325 | |
---|
326 | <dl class="function"> |
---|
327 | <dt id="sas.data_util.err1d.pow"> |
---|
328 | <tt class="descclassname">sas.data_util.err1d.</tt><tt class="descname">pow</tt><big>(</big><em>X</em>, <em>varX</em>, <em>n</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/err1d.html#pow"><span class="viewcode-link">[source]</span></a></dt> |
---|
329 | <dd><p>X**n with error propagation</p> |
---|
330 | </dd></dl> |
---|
331 | |
---|
332 | <dl class="function"> |
---|
333 | <dt id="sas.data_util.err1d.pow_inplace"> |
---|
334 | <tt class="descclassname">sas.data_util.err1d.</tt><tt class="descname">pow_inplace</tt><big>(</big><em>X</em>, <em>varX</em>, <em>n</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/err1d.html#pow_inplace"><span class="viewcode-link">[source]</span></a></dt> |
---|
335 | <dd><p>In-place X**n with error propagation</p> |
---|
336 | </dd></dl> |
---|
337 | |
---|
338 | <dl class="function"> |
---|
339 | <dt id="sas.data_util.err1d.sub"> |
---|
340 | <tt class="descclassname">sas.data_util.err1d.</tt><tt class="descname">sub</tt><big>(</big><em>X</em>, <em>varX</em>, <em>Y</em>, <em>varY</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/err1d.html#sub"><span class="viewcode-link">[source]</span></a></dt> |
---|
341 | <dd><p>Subtraction with error propagation</p> |
---|
342 | </dd></dl> |
---|
343 | |
---|
344 | <dl class="function"> |
---|
345 | <dt id="sas.data_util.err1d.sub_inplace"> |
---|
346 | <tt class="descclassname">sas.data_util.err1d.</tt><tt class="descname">sub_inplace</tt><big>(</big><em>X</em>, <em>varX</em>, <em>Y</em>, <em>varY</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/err1d.html#sub_inplace"><span class="viewcode-link">[source]</span></a></dt> |
---|
347 | <dd><p>In-place subtraction with error propagation</p> |
---|
348 | </dd></dl> |
---|
349 | |
---|
350 | </div> |
---|
351 | <div class="section" id="module-sas.data_util.formatnum"> |
---|
352 | <span id="sas-data-util-formatnum-module"></span><h2>sas.data_util.formatnum module</h2> |
---|
353 | <p>Format values and uncertainties nicely for printing.</p> |
---|
354 | <p>:func:<a href="#id1"><span class="problematic" id="id2">`</span></a>format_uncertainty_pm`(v,err) produces the expanded format v +/- err.</p> |
---|
355 | <p>:func:<a href="#id3"><span class="problematic" id="id4">`</span></a>format_uncertainty_compact`(v,err) produces the compact format v(##), |
---|
356 | where the number in parenthesis is the uncertainty in the last two digits of v.</p> |
---|
357 | <p>:func:<a href="#id5"><span class="problematic" id="id6">`</span></a>format_uncertainty`(v,err) uses the compact format by default, but this |
---|
358 | can be changed to use the expanded +/- format by setting |
---|
359 | format_uncertainty.compact to False.</p> |
---|
360 | <p>The formatted string uses only the number of digits warranted by |
---|
361 | the uncertainty in the measurement.</p> |
---|
362 | <p>If the uncertainty is 0 or not otherwise provided, the simple |
---|
363 | %g floating point format option is used.</p> |
---|
364 | <p>Infinite and indefinite numbers are represented as inf and NaN.</p> |
---|
365 | <p>Example:</p> |
---|
366 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">v</span><span class="p">,</span><span class="n">dv</span> <span class="o">=</span> <span class="mf">757.2356</span><span class="p">,</span><span class="mf">0.01032</span> |
---|
367 | <span class="gp">>>> </span><span class="k">print</span> <span class="n">format_uncertainty_pm</span><span class="p">(</span><span class="n">v</span><span class="p">,</span><span class="n">dv</span><span class="p">)</span> |
---|
368 | <span class="go">757.236 +/- 0.010</span> |
---|
369 | <span class="gp">>>> </span><span class="k">print</span> <span class="n">format_uncertainty_compact</span><span class="p">(</span><span class="n">v</span><span class="p">,</span><span class="n">dv</span><span class="p">)</span> |
---|
370 | <span class="go">757.236(10)</span> |
---|
371 | <span class="gp">>>> </span><span class="k">print</span> <span class="n">format_uncertainty</span><span class="p">(</span><span class="n">v</span><span class="p">,</span><span class="n">dv</span><span class="p">)</span> |
---|
372 | <span class="go">757.236(10)</span> |
---|
373 | <span class="gp">>>> </span><span class="n">format_uncertainty</span><span class="o">.</span><span class="n">compact</span> <span class="o">=</span> <span class="bp">False</span> |
---|
374 | <span class="gp">>>> </span><span class="k">print</span> <span class="n">format_uncertainty</span><span class="p">(</span><span class="n">v</span><span class="p">,</span><span class="n">dv</span><span class="p">)</span> |
---|
375 | <span class="go">757.236 +/- 0.010</span> |
---|
376 | </pre></div> |
---|
377 | </div> |
---|
378 | <p>UncertaintyFormatter() returns a private formatter with its own |
---|
379 | formatter.compact flag.</p> |
---|
380 | <dl class="function"> |
---|
381 | <dt id="sas.data_util.formatnum.format_uncertainty_pm"> |
---|
382 | <tt class="descclassname">sas.data_util.formatnum.</tt><tt class="descname">format_uncertainty_pm</tt><big>(</big><em>value</em>, <em>uncertainty</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/formatnum.html#format_uncertainty_pm"><span class="viewcode-link">[source]</span></a></dt> |
---|
383 | <dd><p>Given <em>value</em> v and <em>uncertainty</em> dv, return a string v +/- dv.</p> |
---|
384 | </dd></dl> |
---|
385 | |
---|
386 | <dl class="function"> |
---|
387 | <dt id="sas.data_util.formatnum.format_uncertainty_compact"> |
---|
388 | <tt class="descclassname">sas.data_util.formatnum.</tt><tt class="descname">format_uncertainty_compact</tt><big>(</big><em>value</em>, <em>uncertainty</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/formatnum.html#format_uncertainty_compact"><span class="viewcode-link">[source]</span></a></dt> |
---|
389 | <dd><p>Given <em>value</em> v and <em>uncertainty</em> dv, return the compact |
---|
390 | representation v(##), where ## are the first two digits of |
---|
391 | the uncertainty.</p> |
---|
392 | </dd></dl> |
---|
393 | |
---|
394 | </div> |
---|
395 | <div class="section" id="module-sas.data_util.nxsunit"> |
---|
396 | <span id="sas-data-util-nxsunit-module"></span><h2>sas.data_util.nxsunit module</h2> |
---|
397 | <p>Define unit conversion support for NeXus style units.</p> |
---|
398 | <p>The unit format is somewhat complicated. There are variant spellings |
---|
399 | and incorrect capitalization to worry about, as well as forms such as |
---|
400 | “mili*metre” and “1e-7 seconds”.</p> |
---|
401 | <p>This is a minimal implementation of units including only what I happen to |
---|
402 | need now. It does not support the complete dimensional analysis provided |
---|
403 | by the package udunits on which NeXus is based, or even the units used |
---|
404 | in the NeXus definition files.</p> |
---|
405 | <p>Unlike other units packages, this package does not carry the units along with |
---|
406 | the value but merely provides a conversion function for transforming values.</p> |
---|
407 | <p>Usage example:</p> |
---|
408 | <div class="highlight-python"><div class="highlight"><pre><span class="kn">import</span> <span class="nn">nxsunit</span> |
---|
409 | <span class="n">u</span> <span class="o">=</span> <span class="n">nxsunit</span><span class="o">.</span><span class="n">Converter</span><span class="p">(</span><span class="s">'mili*metre'</span><span class="p">)</span> <span class="c"># Units stored in mm</span> |
---|
410 | <span class="n">v</span> <span class="o">=</span> <span class="n">u</span><span class="p">(</span><span class="mi">3000</span><span class="p">,</span><span class="s">'m'</span><span class="p">)</span> <span class="c"># Convert the value 3000 mm into meters</span> |
---|
411 | </pre></div> |
---|
412 | </div> |
---|
413 | <p>NeXus example:</p> |
---|
414 | <div class="highlight-python"><div class="highlight"><pre># Load sample orientation in radians regardless of how it is stored. |
---|
415 | # 1. Open the path |
---|
416 | file.openpath('/entry1/sample/sample_orientation') |
---|
417 | # 2. scan the attributes, retrieving 'units' |
---|
418 | units = [for attr,value in file.attrs() if attr == 'units'] |
---|
419 | # 3. set up the converter (assumes that units actually exists) |
---|
420 | u = nxsunit.Converter(units[0]) |
---|
421 | # 4. read the data and convert to the correct units |
---|
422 | v = u(file.read(),'radians') |
---|
423 | </pre></div> |
---|
424 | </div> |
---|
425 | <p>This is a standalone module, not relying on either DANSE or NeXus, and |
---|
426 | can be used for other unit conversion tasks.</p> |
---|
427 | <p>Note: minutes are used for angle and seconds are used for time. We |
---|
428 | cannot tell what the correct interpretation is without knowing something |
---|
429 | about the fields themselves. If this becomes an issue, we will need to |
---|
430 | allow the application to set the dimension for the unit rather than |
---|
431 | inferring the dimension from an example unit.</p> |
---|
432 | <dl class="class"> |
---|
433 | <dt id="sas.data_util.nxsunit.Converter"> |
---|
434 | <em class="property">class </em><tt class="descclassname">sas.data_util.nxsunit.</tt><tt class="descname">Converter</tt><big>(</big><em>name</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/nxsunit.html#Converter"><span class="viewcode-link">[source]</span></a></dt> |
---|
435 | <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p> |
---|
436 | <p>Unit converter for NeXus style units.</p> |
---|
437 | <dl class="attribute"> |
---|
438 | <dt id="sas.data_util.nxsunit.Converter.dims"> |
---|
439 | <tt class="descname">dims</tt><em class="property"> = [{'kilometre': 1000.0, 'centi*Metre': 0.01, 'mili*meter': 0.001, 'gigameter': 1000000000.0, 'meter': 1, 'milli*meter': 0.001, 'kiloMetres': 1000.0, 'centiMeters': 0.01, 'picometers': 1e-12, 'centimeter': 0.01, 'picometre': 1e-12, 'centiMetre': 0.01, 'picoMeter': 1e-12, 'teraMetres': 1000000000000.0, 'kiloMetre': 1000.0, 'nanometre': 1e-09, 'pico*meter': 1e-12, 'nanoMeters': 1e-09, 'centi*metre': 0.01, 'mili*Meter': 0.001, 'micrometers': 1e-06, 'micron': 1e-06, 'picoMetre': 1e-12, 'centimetre': 0.01, 'micrometre': 1e-06, 'dm': 0.1, 'pico*Meter': 1e-12, 'miliMeter': 0.001, 'kilo*metre': 1000.0, 'gigaMeters': 1000000000.0, 'petaMeters': 1000000000000000.0, 'kilometres': 1000.0, 'megametre': 1000000.0, 'milli*metre': 0.001, 'megaMeters': 1000000.0, 'deci*Meter': 0.1, 'milimeter': 0.001, 'micro*Metre': 1e-06, 'microMeter': 1e-06, 'teraMeters': 1000000000000.0, 'kilo*meter': 1000.0, 'deciMeter': 0.1, 'millimeters': 0.001, 'femtometer': 1e-15, 'Gm': 1000000000.0, 'deci*metre': 0.1, 'femtometre': 1e-15, 'Angstrom': 1e-10, 'petametre': 1000000000000000.0, 'giga*metre': 1000000000.0, 'nanometers': 1e-09, 'deciMetre': 0.1, 'microMeters': 1e-06, 'metres': 1, 'kilo*Meter': 1000.0, 'meters': 1, 'gigametres': 1000000000.0, 'nanometer': 1e-09, 'terametre': 1000000000000.0, 'Pm': 1000000000000000.0, 'petameter': 1000000000000000.0, 'centi*Meter': 0.01, 'decimetre': 0.1, 'femto*metre': 1e-15, 'gigameters': 1000000000.0, 'decimeters': 0.1, 'kilometer': 1000.0, 'petameters': 1000000000000000.0, 'femto*meter': 1e-15, 'microMetre': 1e-06, 'centi*meter': 0.01, 'Mm': 1000000.0, 'megametres': 1000000.0, 'kiloMeter': 1000.0, 'mega*meter': 1000000.0, 'kilometers': 1000.0, 'nanoMetres': 1e-09, 'peta*Metre': 1000000000000000.0, 'megameter': 1000000.0, 'mili*metre': 0.001, 'tera*metre': 1000000000000.0, 'kilo*Metre': 1000.0, 'gigametre': 1000000000.0, 'metre': 1, 'Angstroms': 1e-10, 'Meters': 1, 'femtoMetres': 1e-15, 'peta*metre': 1000000000000000.0, 'micro*Meter': 1e-06, 'centiMeter': 0.01, 'picometer': 1e-12, 'millimetres': 0.001, 'terametres': 1000000000000.0, 'milliMetre': 0.001, 'cm': 0.01, 'microMetres': 1e-06, 'gigaMetre': 1000000000.0, 'milimetres': 0.001, 'tera*meter': 1000000000000.0, 'deciMeters': 0.1, 'nano*meter': 1e-09, 'milimetre': 0.001, 'megaMetres': 1000000.0, 'millimetre': 0.001, 'gigaMeter': 1000000000.0, 'nano*Meter': 1e-09, 'peta*Meter': 1000000000000000.0, 'nanometres': 1e-09, 'teraMetre': 1000000000000.0, 'giga*Meter': 1000000000.0, 'pm': 1e-12, 'petaMetres': 1000000000000000.0, 'milli*Metre': 0.001, 'centiMetres': 0.01, 'picometres': 1e-12, 'Metres': 1, 'deci*meter': 0.1, 'micro*metre': 1e-06, 'tera*Meter': 1000000000000.0, 'femtoMeters': 1e-15, 'deciMetres': 0.1, 'peta*meter': 1000000000000000.0, 'femtometres': 1e-15, 'gigaMetres': 1000000000.0, 'milliMetres': 0.001, 'giga*Metre': 1000000000.0, 'microns': 1e-06, 'Ang': 1e-10, 'mega*metre': 1000000.0, 'mm': 0.001, 'miliMetres': 0.001, 'um': 1e-06, 'terameter': 1000000000000.0, 'kiloMeters': 1000.0, 'miliMeters': 0.001, 'megaMetre': 1000000.0, 'pico*metre': 1e-12, 'mega*Metre': 1000000.0, 'femtoMetre': 1e-15, 'micrometer': 1e-06, 'decimeter': 0.1, 'Tm': 1000000000000.0, 'teraMeter': 1000000000000.0, 'km': 1000.0, 'femtoMeter': 1e-15, 'mili*Metre': 0.001, 'petaMetre': 1000000000000000.0, 'petametres': 1000000000000000.0, 'nm': 1e-09, 'pico*Metre': 1e-12, 'micrometres': 1e-06, 'deci*Metre': 0.1, 'femtometers': 1e-15, 'milliMeter': 0.001, 'miliMetre': 0.001, 'centimeters': 0.01, 'picoMeters': 1e-12, 'nanoMeter': 1e-09, 'A': 1e-10, 'petaMeter': 1000000000000000.0, 'megameters': 1000000.0, 'nano*Metre': 1e-09, 'femto*Metre': 1e-15, 'Metre': 1, 'terameters': 1000000000000.0, 'millimeter': 0.001, 'nanoMetre': 1e-09, 'milliMeters': 0.001, 'femto*Meter': 1e-15, 'micro*meter': 1e-06, 'fm': 1e-15, 'milimeters': 0.001, 'centimetres': 0.01, 'picoMetres': 1e-12, 'megaMeter': 1000000.0, 'nano*metre': 1e-09, 'm': 1, 'Meter': 1, 'milli*Meter': 0.001, 'decimetres': 0.1, 'mega*Meter': 1000000.0, 'tera*Metre': 1000000000000.0, 'giga*meter': 1000000000.0}, {'nanoseconds': 1e-09, 'deciSeconds': 0.1, 'femtoSeconds': 1e-15, 'kiloseconds': 1000.0, 'millisecond': 0.001, 'centi*second': 0.01, 'nanoSeconds': 1e-09, 'day': 86400, 'teraseconds': 1000000000000.0, 'kiloSeconds': 1000.0, 'weeks': 604800, 'kilo*second': 1000.0, 'peta*second': 1000000000000000.0, 'nanoSecond': 1e-09, 'decisecond': 0.1, 'centiSecond': 0.01, 'picosecond': 1e-12, 'ds': 0.1, 'petaSecond': 1000000000000000.0, 'mega*second': 1000000.0, 'Gs': 1000000000.0, 'megaSeconds': 1000000.0, 'mili*Second': 0.001, 'gigaseconds': 1000000000.0, 'Ps': 1000000000000000.0, 'teraSecond': 1000000000000.0, 'deci*Second': 0.1, 'giga*second': 1000000000.0, 'second': 1, 'nano*Second': 1e-09, 'gigaSeconds': 1000000000.0, 'centiSeconds': 0.01, 'picoseconds': 1e-12, 'Seconds': 1, 'milli*Second': 0.001, 'deciSecond': 0.1, 'centi*Second': 0.01, 'petasecond': 1000000000000000.0, 'ps': 1e-12, 'seconds': 1, 'hours': 3600, 'Ms': 1000000.0, 'mili*second': 0.001, 'kilo*Second': 1000.0, 'days': 86400, 'terasecond': 1000000000000.0, 'microSecond': 1e-06, 'giga*Second': 1000000000.0, 's': 1, 'femtoseconds': 1e-15, 'nano*second': 1e-09, 'kilosecond': 1000.0, 'cs': 0.01, 'miliSecond': 0.001, 'milliSeconds': 0.001, 'kiloSecond': 1000.0, 'femto*Second': 1e-15, 'deciseconds': 0.1, 'pico*second': 1e-12, 'milliseconds': 0.001, 'gigaSecond': 1000000000.0, 'femtosecond': 1e-15, 'megaseconds': 1000000.0, 'teraSeconds': 1000000000000.0, 'mega*Second': 1000000.0, 'petaseconds': 1000000000000000.0, 'hour': 3600, 'milli*second': 0.001, 'us': 1e-06, 'ms': 0.001, 'milliSecond': 0.001, 'miliSeconds': 0.001, 'petaSeconds': 1000000000000000.0, 'megaSecond': 1000000.0, 'Ts': 1000000000000.0, 'femto*second': 1e-15, 'tera*Second': 1000000000000.0, 'micro*Second': 1e-06, 'miliseconds': 0.001, 'peta*Second': 1000000000000000.0, 'gigasecond': 1000000000.0, 'nanosecond': 1e-09, 'milisecond': 0.001, 'ns': 1e-09, 'week': 604800, 'centiseconds': 0.01, 'fs': 1e-15, 'picoSeconds': 1e-12, 'microsecond': 1e-06, 'microSeconds': 1e-06, 'pico*Second': 1e-12, 'femtoSecond': 1e-15, 'deci*second': 0.1, 'megasecond': 1000000.0, 'ks': 1000.0, 'Second': 1, 'tera*second': 1000000000000.0, 'centisecond': 0.01, 'picoSecond': 1e-12, 'micro*second': 1e-06, 'microseconds': 1e-06}, {'arcminute': 0.016666666666666666, 'rad': 57.29577951308232, 'arcsec': 0.0002777777777777778, 'degree': 1, 'arcminutes': 0.016666666666666666, 'radians': 57.29577951308232, 'arcsecond': 0.0002777777777777778, 'arcmin': 0.016666666666666666, 'degrees': 1, 'radian': 57.29577951308232, 'deg': 1, 'minutes': 0.016666666666666666, 'minute': 0.016666666666666666, 'arcseconds': 0.0002777777777777778}, {'pico*hertz': 1e-12, 'mili*Hertz': 0.001, 'fHz': 1e-15, 'nanoHertzs': 1e-09, 'kiloHertzs': 1000.0, 'milli*Hertz': 0.001, 'pico*Hertz': 1e-12, 'miliHertz': 0.001, 'GHz': 1000000000.0, 'hertzs': 1, 'centiHertzs': 0.01, 'picohertzs': 1e-12, 'petahertz': 1000000000000000.0, 'mega*hertz': 1000000.0, 'microHertzs': 1e-06, 'PHz': 1000000000000000.0, 'teraHertzs': 1000000000000.0, 'dHz': 0.1, 'megaHertzs': 1000000.0, 'THz': 1000000000000.0, 'petaHertz': 1000000000000000.0, 'mega*Hertz': 1000000.0, 'centihertz': 0.01, 'kilo*Hertz': 1000.0, 'picoHertz': 1e-12, 'miliHertzs': 0.001, 'femto*hertz': 1e-15, 'petaHertzs': 1000000000000000.0, 'nanohertzs': 1e-09, 'centi*Hertz': 0.01, 'nano*hertz': 1e-09, 'giga*Hertz': 1000000000.0, 'peta*Hertz': 1000000000000000.0, 'kilo*hertz': 1000.0, 'Hz': 1, 'centi*hertz': 0.01, 'nano*Hertz': 1e-09, 'megaHertz': 1000000.0, 'decihertzs': 0.1, 'microhertzs': 1e-06, 'terahertzs': 1000000000000.0, 'megahertzs': 1000000.0, 'tera*Hertz': 1000000000000.0, 'terahertz': 1000000000000.0, 'gigahertz': 1000000000.0, 'milliHertz': 0.001, 'milliHertzs': 0.001, 'kHz': 1000.0, 'MHz': 1000000.0, 'decihertz': 0.1, 'gigaHertz': 1000000000.0, 'kiloHertz': 1000.0, 'deci*Hertz': 0.1, 'deciHertzs': 0.1, 'microhertz': 1e-06, 'Hertz': 1, 'milihertzs': 0.001, 'millihertzs': 0.001, 'rpm': 0.016666666666666666, 'hertz': 1, 'pHz': 1e-12, 'femtohertz': 1e-15, 'picoHertzs': 1e-12, 'milli*hertz': 0.001, 'gigahertzs': 1000000000.0, 'femtohertzs': 1e-15, 'micro*hertz': 1e-06, 'milihertz': 0.001, 'nanohertz': 1e-09, 'picohertz': 1e-12, 'deci*hertz': 0.1, 'femtoHertz': 1e-15, 'micro*Hertz': 1e-06, 'nanoHertz': 1e-09, 'rpms': 0.016666666666666666, 'kilohertzs': 1000.0, 'nHz': 1e-09, 'megahertz': 1000000.0, 'Hertzs': 1, 'femto*Hertz': 1e-15, 'giga*hertz': 1000000000.0, 'tera*hertz': 1000000000000.0, 'centiHertz': 0.01, 'peta*hertz': 1000000000000000.0, 'uHz': 1e-06, 'mHz': 0.001, 'petahertzs': 1000000000000000.0, 'deciHertz': 0.1, 'cHz': 0.01, 'centihertzs': 0.01, 'kilohertz': 1000.0, 'gigaHertzs': 1000000000.0, 'femtoHertzs': 1e-15, 'mili*hertz': 0.001, 'microHertz': 1e-06, 'teraHertz': 1000000000000.0, 'millihertz': 0.001}, {'gigaKelvin': 1000000000.0, 'decikelvin': 0.1, 'milli*kelvin': 0.001, 'giga*kelvin': 1000000000.0, 'nanoKelvins': 1e-09, 'centi*Kelvin': 0.01, 'milliKelvin': 0.001, 'nanokelvin': 1e-09, 'femto*kelvin': 1e-15, 'mega*Kelvin': 1000000.0, 'deci*Kelvin': 0.1, 'pico*Kelvin': 1e-12, 'microkelvin': 1e-06, 'GK': 1000000000.0, 'dK': 0.1, 'mili*Kelvin': 0.001, 'milli*Kelvin': 0.001, 'megakelvin': 1000000.0, 'nano*Kelvin': 1e-09, 'petaKelvin': 1000000000000000.0, 'deciKelvins': 0.1, 'milikelvins': 0.001, 'femtoKelvin': 1e-15, 'mega*kelvin': 1000000.0, 'microKelvins': 1e-06, 'peta*Kelvin': 1000000000000000.0, 'pico*kelvin': 1e-12, 'kK': 1000.0, 'decikelvins': 0.1, 'microKelvin': 1e-06, 'PK': 1000000000000000.0, 'picokelvin': 1e-12, 'centiKelvin': 0.01, 'K': 1, 'megakelvins': 1000000.0, 'miliKelvins': 0.001, 'kiloKelvin': 1000.0, 'milliKelvins': 0.001, 'petakelvin': 1000000000000000.0, 'MK': 1000000.0, 'terakelvin': 1000000000000.0, 'kiloKelvins': 1000.0, 'petakelvins': 1000000000000000.0, 'miliKelvin': 0.001, 'petaKelvins': 1000000000000000.0, 'megaKelvin': 1000000.0, 'tera*Kelvin': 1000000000000.0, 'pK': 1e-12, 'centiKelvins': 0.01, 'picokelvins': 1e-12, 'cK': 0.01, 'Kelvin': 1, 'kilokelvin': 1000.0, 'Kelvins': 1, 'centikelvins': 0.01, 'picoKelvins': 1e-12, 'mK': 0.001, 'uK': 1e-06, 'kelvins': 1, 'teraKelvin': 1000000000000.0, 'micro*Kelvin': 1e-06, 'picoKelvin': 1e-12, 'centikelvin': 0.01, 'gigakelvin': 1000000000.0, 'deciKelvin': 0.1, 'giga*Kelvin': 1000000000.0, 'tera*kelvin': 1000000000000.0, 'nK': 1e-09, 'gigakelvins': 1000000000.0, 'nanokelvins': 1e-09, 'kilo*Kelvin': 1000.0, 'terakelvins': 1000000000000.0, 'megaKelvins': 1000000.0, 'deci*kelvin': 0.1, 'milikelvin': 0.001, 'gigaKelvins': 1000000000.0, 'femtokelvins': 1e-15, 'TK': 1000000000000.0, 'teraKelvins': 1000000000000.0, 'micro*kelvin': 1e-06, 'microkelvins': 1e-06, 'centi*kelvin': 0.01, 'kelvin': 1, 'mili*kelvin': 0.001, 'femtoKelvins': 1e-15, 'kilokelvins': 1000.0, 'millikelvin': 0.001, 'peta*kelvin': 1000000000000000.0, 'nanoKelvin': 1e-09, 'femto*Kelvin': 1e-15, 'nano*kelvin': 1e-09, 'femtokelvin': 1e-15, 'kilo*kelvin': 1000.0, 'millikelvins': 0.001, 'fK': 1e-15}, {'femtoCoulomb': 1e-15, 'gigacoulombs': 1000000000.0, 'megaCoulombs': 1000000.0, 'deci*coulomb': 0.1, 'kilocoulomb': 1000.0, 'deciCoulombs': 0.1, 'femto*Coulomb': 1e-15, 'millicoulomb': 0.001, 'deci*Coulomb': 0.1, 'peta*Coulomb': 1000000000000000.0, 'mili*coulomb': 0.001, 'GC': 1000000000.0, 'petaCoulombs': 1000000000000000.0, 'megacoulomb': 1000000.0, 'miliCoulomb': 0.001, 'dC': 0.1, 'mili*Coulomb': 0.001, 'milliCoulombs': 0.001, 'picoCoulomb': 1e-12, 'gigaCoulomb': 1000000000.0, 'giga*coulomb': 1000000000.0, 'tera*coulomb': 1000000000000.0, 'microcoulombs': 1e-06, 'centiCoulombs': 0.01, 'picocoulombs': 1e-12, 'mega*Coulomb': 1000000.0, 'petaCoulomb': 1000000000000000.0, 'miliCoulombs': 0.001, 'PC': 1000000000000000.0, 'kiloCoulombs': 1000.0, 'femtocoulombs': 1e-15, 'petacoulombs': 1000000000000000.0, 'nano*coulomb': 1e-09, 'C': 1, 'teraCoulombs': 1000000000000.0, 'decicoulombs': 0.1, 'nano*Coulomb': 1e-09, 'deciCoulomb': 0.1, 'MC': 1000000.0, 'milliCoulomb': 0.001, 'picocoulomb': 1e-12, 'centiCoulomb': 0.01, 'teracoulombs': 1000000000000.0, 'decicoulomb': 0.1, 'kilo*Coulomb': 1000.0, 'pC': 1e-12, 'kilocoulombs': 1000.0, 'centicoulomb': 0.01, 'micro*Coulomb': 1e-06, 'femto*coulomb': 1e-15, 'nanocoulomb': 1e-09, 'cC': 0.01, 'pico*coulomb': 1e-12, 'nanocoulombs': 1e-09, 'centicoulombs': 0.01, 'milli*coulomb': 0.001, 'nanoCoulomb': 1e-09, 'mC': 0.001, 'picoCoulombs': 1e-12, 'pico*Coulomb': 1e-12, 'kiloCoulomb': 1000.0, 'femtoCoulombs': 1e-15, 'uC': 1e-06, 'gigacoulomb': 1000000000.0, 'giga*Coulomb': 1000000000.0, 'milli*Coulomb': 0.001, 'peta*coulomb': 1000000000000000.0, 'megacoulombs': 1000000.0, 'mega*coulomb': 1000000.0, 'megaCoulomb': 1000000.0, 'petacoulomb': 1000000000000000.0, 'nC': 1e-09, 'teracoulomb': 1000000000000.0, 'coulombs': 1, 'gigaCoulombs': 1000000000.0, 'microCoulombs': 1e-06, 'tera*Coulomb': 1000000000000.0, 'teraCoulomb': 1000000000000.0, 'centi*Coulomb': 0.01, 'millicoulombs': 0.001, 'milicoulomb': 0.001, 'TC': 1000000000000.0, 'kC': 1000.0, 'milicoulombs': 0.001, 'Coulomb': 1, 'microCoulomb': 1e-06, 'centi*coulomb': 0.01, 'nanoCoulombs': 1e-09, 'microAmp*hour': 0.0036, 'femtocoulomb': 1e-15, 'coulomb': 1, 'kilo*coulomb': 1000.0, 'microcoulomb': 1e-06, 'fC': 1e-15, 'Coulombs': 1, 'micro*coulomb': 1e-06}, {'10^-6 Angstrom^-2': 1e-06, 'Angstrom^-2': 1, '10-6 Angstrom-2': 1e-06, 'Angstrom-2': 1}, {'invAng': 1, 'n_m^-1': 0.1, '10-3 Angstrom-1': 0.001, 'invA': 1, 'n_m-1': 0.1, '1/nm': 0.1, '1/cm': 1e-08, '10^-3 Angstrom^-1': 0.001, 'nm^-1': 0.1, '1/A': 1, 'nm-1': 0.1, 'invAngstroms': 1}]</em></dt> |
---|
440 | <dd></dd></dl> |
---|
441 | |
---|
442 | <dl class="method"> |
---|
443 | <dt id="sas.data_util.nxsunit.Converter.scale"> |
---|
444 | <tt class="descname">scale</tt><big>(</big><em>units=''</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/nxsunit.html#Converter.scale"><span class="viewcode-link">[source]</span></a></dt> |
---|
445 | <dd></dd></dl> |
---|
446 | |
---|
447 | <dl class="attribute"> |
---|
448 | <dt id="sas.data_util.nxsunit.Converter.scalebase"> |
---|
449 | <tt class="descname">scalebase</tt><em class="property"> = 1</em></dt> |
---|
450 | <dd></dd></dl> |
---|
451 | |
---|
452 | <dl class="attribute"> |
---|
453 | <dt id="sas.data_util.nxsunit.Converter.scalemap"> |
---|
454 | <tt class="descname">scalemap</tt><em class="property"> = None</em></dt> |
---|
455 | <dd></dd></dl> |
---|
456 | |
---|
457 | <dl class="attribute"> |
---|
458 | <dt id="sas.data_util.nxsunit.Converter.unknown"> |
---|
459 | <tt class="descname">unknown</tt><em class="property"> = {'': 1, 'a.u.': 1, '???': 1, None: 1}</em></dt> |
---|
460 | <dd></dd></dl> |
---|
461 | |
---|
462 | </dd></dl> |
---|
463 | |
---|
464 | </div> |
---|
465 | <div class="section" id="module-sas.data_util.odict"> |
---|
466 | <span id="sas-data-util-odict-module"></span><h2>sas.data_util.odict module</h2> |
---|
467 | <p>A dict that keeps keys in insertion order</p> |
---|
468 | <dl class="class"> |
---|
469 | <dt id="sas.data_util.odict.OrderedDict"> |
---|
470 | <em class="property">class </em><tt class="descclassname">sas.data_util.odict.</tt><tt class="descname">OrderedDict</tt><big>(</big><em>init_val=()</em>, <em>strict=False</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict"><span class="viewcode-link">[source]</span></a></dt> |
---|
471 | <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">dict</span></tt></p> |
---|
472 | <p>A class of dictionary that keeps the insertion order of keys.</p> |
---|
473 | <p>All appropriate methods return keys, items, or values in an ordered way.</p> |
---|
474 | <p>All normal dictionary methods are available. Update and comparison is |
---|
475 | restricted to other OrderedDict objects.</p> |
---|
476 | <p>Various sequence methods are available, including the ability to explicitly |
---|
477 | mutate the key ordering.</p> |
---|
478 | <p>__contains__ tests:</p> |
---|
479 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),))</span> |
---|
480 | <span class="gp">>>> </span><span class="mi">1</span> <span class="ow">in</span> <span class="n">d</span> |
---|
481 | <span class="go">1</span> |
---|
482 | <span class="gp">>>> </span><span class="mi">4</span> <span class="ow">in</span> <span class="n">d</span> |
---|
483 | <span class="go">0</span> |
---|
484 | </pre></div> |
---|
485 | </div> |
---|
486 | <p>__getitem__ tests:</p> |
---|
487 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))[</span><span class="mi">2</span><span class="p">]</span> |
---|
488 | <span class="go">1</span> |
---|
489 | <span class="gp">>>> </span><span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))[</span><span class="mi">4</span><span class="p">]</span> |
---|
490 | <span class="gt">Traceback (most recent call last):</span> |
---|
491 | <span class="gr">KeyError</span>: <span class="n">4</span> |
---|
492 | </pre></div> |
---|
493 | </div> |
---|
494 | <p>__len__ tests:</p> |
---|
495 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="nb">len</span><span class="p">(</span><span class="n">OrderedDict</span><span class="p">())</span> |
---|
496 | <span class="go">0</span> |
---|
497 | <span class="gp">>>> </span><span class="nb">len</span><span class="p">(</span><span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">))))</span> |
---|
498 | <span class="go">3</span> |
---|
499 | </pre></div> |
---|
500 | </div> |
---|
501 | <p>get tests:</p> |
---|
502 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))</span> |
---|
503 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> |
---|
504 | <span class="go">3</span> |
---|
505 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span> <span class="ow">is</span> <span class="bp">None</span> |
---|
506 | <span class="go">1</span> |
---|
507 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">)</span> |
---|
508 | <span class="go">5</span> |
---|
509 | <span class="gp">>>> </span><span class="n">d</span> |
---|
510 | <span class="go">OrderedDict([(1, 3), (3, 2), (2, 1)])</span> |
---|
511 | </pre></div> |
---|
512 | </div> |
---|
513 | <p>has_key tests:</p> |
---|
514 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))</span> |
---|
515 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">has_key</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> |
---|
516 | <span class="go">1</span> |
---|
517 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">has_key</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span> |
---|
518 | <span class="go">0</span> |
---|
519 | </pre></div> |
---|
520 | </div> |
---|
521 | <dl class="method"> |
---|
522 | <dt id="sas.data_util.odict.OrderedDict.clear"> |
---|
523 | <tt class="descname">clear</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict.clear"><span class="viewcode-link">[source]</span></a></dt> |
---|
524 | <dd><div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))</span> |
---|
525 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">clear</span><span class="p">()</span> |
---|
526 | <span class="gp">>>> </span><span class="n">d</span> |
---|
527 | <span class="go">OrderedDict([])</span> |
---|
528 | </pre></div> |
---|
529 | </div> |
---|
530 | </dd></dl> |
---|
531 | |
---|
532 | <dl class="method"> |
---|
533 | <dt id="sas.data_util.odict.OrderedDict.copy"> |
---|
534 | <tt class="descname">copy</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict.copy"><span class="viewcode-link">[source]</span></a></dt> |
---|
535 | <dd><div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span> |
---|
536 | <span class="go">OrderedDict([(1, 3), (3, 2), (2, 1)])</span> |
---|
537 | </pre></div> |
---|
538 | </div> |
---|
539 | </dd></dl> |
---|
540 | |
---|
541 | <dl class="method"> |
---|
542 | <dt id="sas.data_util.odict.OrderedDict.index"> |
---|
543 | <tt class="descname">index</tt><big>(</big><em>key</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict.index"><span class="viewcode-link">[source]</span></a></dt> |
---|
544 | <dd><p>Return the position of the specified key in the OrderedDict.</p> |
---|
545 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))</span> |
---|
546 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> |
---|
547 | <span class="go">1</span> |
---|
548 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span> |
---|
549 | <span class="gt">Traceback (most recent call last):</span> |
---|
550 | <span class="gr">ValueError</span>: <span class="n">list.index(x): x not in list</span> |
---|
551 | </pre></div> |
---|
552 | </div> |
---|
553 | </dd></dl> |
---|
554 | |
---|
555 | <dl class="method"> |
---|
556 | <dt id="sas.data_util.odict.OrderedDict.insert"> |
---|
557 | <tt class="descname">insert</tt><big>(</big><em>index</em>, <em>key</em>, <em>value</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict.insert"><span class="viewcode-link">[source]</span></a></dt> |
---|
558 | <dd><p>Takes <tt class="docutils literal"><span class="pre">index</span></tt>, <tt class="docutils literal"><span class="pre">key</span></tt>, and <tt class="docutils literal"><span class="pre">value</span></tt> as arguments.</p> |
---|
559 | <p>Sets <tt class="docutils literal"><span class="pre">key</span></tt> to <tt class="docutils literal"><span class="pre">value</span></tt>, so that <tt class="docutils literal"><span class="pre">key</span></tt> is at position <tt class="docutils literal"><span class="pre">index</span></tt> in |
---|
560 | the OrderedDict.</p> |
---|
561 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))</span> |
---|
562 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> |
---|
563 | <span class="gp">>>> </span><span class="n">d</span> |
---|
564 | <span class="go">OrderedDict([(4, 0), (1, 3), (3, 2), (2, 1)])</span> |
---|
565 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> |
---|
566 | <span class="gp">>>> </span><span class="n">d</span> |
---|
567 | <span class="go">OrderedDict([(2, 1), (4, 0), (1, 3), (3, 2)])</span> |
---|
568 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> |
---|
569 | <span class="gp">>>> </span><span class="n">d</span> |
---|
570 | <span class="go">OrderedDict([(2, 1), (4, 0), (1, 3), (3, 2), (8, 1)])</span> |
---|
571 | </pre></div> |
---|
572 | </div> |
---|
573 | </dd></dl> |
---|
574 | |
---|
575 | <dl class="method"> |
---|
576 | <dt id="sas.data_util.odict.OrderedDict.items"> |
---|
577 | <tt class="descname">items</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict.items"><span class="viewcode-link">[source]</span></a></dt> |
---|
578 | <dd><p><tt class="docutils literal"><span class="pre">items</span></tt> returns a list of tuples representing all the |
---|
579 | <tt class="docutils literal"><span class="pre">(key,</span> <span class="pre">value)</span></tt> pairs in the dictionary.</p> |
---|
580 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))</span> |
---|
581 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="p">()</span> |
---|
582 | <span class="go">[(1, 3), (3, 2), (2, 1)]</span> |
---|
583 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">clear</span><span class="p">()</span> |
---|
584 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="p">()</span> |
---|
585 | <span class="go">[]</span> |
---|
586 | </pre></div> |
---|
587 | </div> |
---|
588 | </dd></dl> |
---|
589 | |
---|
590 | <dl class="method"> |
---|
591 | <dt id="sas.data_util.odict.OrderedDict.iteritems"> |
---|
592 | <tt class="descname">iteritems</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict.iteritems"><span class="viewcode-link">[source]</span></a></dt> |
---|
593 | <dd><div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">ii</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()</span> |
---|
594 | <span class="gp">>>> </span><span class="n">ii</span><span class="o">.</span><span class="n">next</span><span class="p">()</span> |
---|
595 | <span class="go">(1, 3)</span> |
---|
596 | <span class="gp">>>> </span><span class="n">ii</span><span class="o">.</span><span class="n">next</span><span class="p">()</span> |
---|
597 | <span class="go">(3, 2)</span> |
---|
598 | <span class="gp">>>> </span><span class="n">ii</span><span class="o">.</span><span class="n">next</span><span class="p">()</span> |
---|
599 | <span class="go">(2, 1)</span> |
---|
600 | <span class="gp">>>> </span><span class="n">ii</span><span class="o">.</span><span class="n">next</span><span class="p">()</span> |
---|
601 | <span class="gt">Traceback (most recent call last):</span> |
---|
602 | <span class="gr">StopIteration</span> |
---|
603 | </pre></div> |
---|
604 | </div> |
---|
605 | </dd></dl> |
---|
606 | |
---|
607 | <dl class="method"> |
---|
608 | <dt id="sas.data_util.odict.OrderedDict.iterkeys"> |
---|
609 | <tt class="descname">iterkeys</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict.iterkeys"><span class="viewcode-link">[source]</span></a></dt> |
---|
610 | <dd><div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">ii</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))</span><span class="o">.</span><span class="n">iterkeys</span><span class="p">()</span> |
---|
611 | <span class="gp">>>> </span><span class="n">ii</span><span class="o">.</span><span class="n">next</span><span class="p">()</span> |
---|
612 | <span class="go">1</span> |
---|
613 | <span class="gp">>>> </span><span class="n">ii</span><span class="o">.</span><span class="n">next</span><span class="p">()</span> |
---|
614 | <span class="go">3</span> |
---|
615 | <span class="gp">>>> </span><span class="n">ii</span><span class="o">.</span><span class="n">next</span><span class="p">()</span> |
---|
616 | <span class="go">2</span> |
---|
617 | <span class="gp">>>> </span><span class="n">ii</span><span class="o">.</span><span class="n">next</span><span class="p">()</span> |
---|
618 | <span class="gt">Traceback (most recent call last):</span> |
---|
619 | <span class="gr">StopIteration</span> |
---|
620 | </pre></div> |
---|
621 | </div> |
---|
622 | </dd></dl> |
---|
623 | |
---|
624 | <dl class="method"> |
---|
625 | <dt id="sas.data_util.odict.OrderedDict.itervalues"> |
---|
626 | <tt class="descname">itervalues</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict.itervalues"><span class="viewcode-link">[source]</span></a></dt> |
---|
627 | <dd><div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">iv</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))</span><span class="o">.</span><span class="n">itervalues</span><span class="p">()</span> |
---|
628 | <span class="gp">>>> </span><span class="n">iv</span><span class="o">.</span><span class="n">next</span><span class="p">()</span> |
---|
629 | <span class="go">3</span> |
---|
630 | <span class="gp">>>> </span><span class="n">iv</span><span class="o">.</span><span class="n">next</span><span class="p">()</span> |
---|
631 | <span class="go">2</span> |
---|
632 | <span class="gp">>>> </span><span class="n">iv</span><span class="o">.</span><span class="n">next</span><span class="p">()</span> |
---|
633 | <span class="go">1</span> |
---|
634 | <span class="gp">>>> </span><span class="n">iv</span><span class="o">.</span><span class="n">next</span><span class="p">()</span> |
---|
635 | <span class="gt">Traceback (most recent call last):</span> |
---|
636 | <span class="gr">StopIteration</span> |
---|
637 | </pre></div> |
---|
638 | </div> |
---|
639 | </dd></dl> |
---|
640 | |
---|
641 | <dl class="method"> |
---|
642 | <dt id="sas.data_util.odict.OrderedDict.keys"> |
---|
643 | <tt class="descname">keys</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict.keys"><span class="viewcode-link">[source]</span></a></dt> |
---|
644 | <dd><p>Return a list of keys in the <tt class="docutils literal"><span class="pre">OrderedDict</span></tt>.</p> |
---|
645 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))</span> |
---|
646 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span> |
---|
647 | <span class="go">[1, 3, 2]</span> |
---|
648 | </pre></div> |
---|
649 | </div> |
---|
650 | </dd></dl> |
---|
651 | |
---|
652 | <dl class="method"> |
---|
653 | <dt id="sas.data_util.odict.OrderedDict.pop"> |
---|
654 | <tt class="descname">pop</tt><big>(</big><em>key</em>, <em>*args</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict.pop"><span class="viewcode-link">[source]</span></a></dt> |
---|
655 | <dd><p>No dict.pop in Python 2.2, gotta reimplement it</p> |
---|
656 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))</span> |
---|
657 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> |
---|
658 | <span class="go">2</span> |
---|
659 | <span class="gp">>>> </span><span class="n">d</span> |
---|
660 | <span class="go">OrderedDict([(1, 3), (2, 1)])</span> |
---|
661 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span> |
---|
662 | <span class="gt">Traceback (most recent call last):</span> |
---|
663 | <span class="gr">KeyError</span>: <span class="n">4</span> |
---|
664 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> |
---|
665 | <span class="go">0</span> |
---|
666 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> |
---|
667 | <span class="gt">Traceback (most recent call last):</span> |
---|
668 | <span class="gr">TypeError</span>: <span class="n">pop expected at most 2 arguments, got 3</span> |
---|
669 | </pre></div> |
---|
670 | </div> |
---|
671 | </dd></dl> |
---|
672 | |
---|
673 | <dl class="method"> |
---|
674 | <dt id="sas.data_util.odict.OrderedDict.popitem"> |
---|
675 | <tt class="descname">popitem</tt><big>(</big><em>i=-1</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict.popitem"><span class="viewcode-link">[source]</span></a></dt> |
---|
676 | <dd><p>Delete and return an item specified by index, not a random one as in |
---|
677 | dict. The index is -1 by default (the last item).</p> |
---|
678 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))</span> |
---|
679 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">popitem</span><span class="p">()</span> |
---|
680 | <span class="go">(2, 1)</span> |
---|
681 | <span class="gp">>>> </span><span class="n">d</span> |
---|
682 | <span class="go">OrderedDict([(1, 3), (3, 2)])</span> |
---|
683 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">popitem</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> |
---|
684 | <span class="go">(1, 3)</span> |
---|
685 | <span class="gp">>>> </span><span class="n">OrderedDict</span><span class="p">()</span><span class="o">.</span><span class="n">popitem</span><span class="p">()</span> |
---|
686 | <span class="gt">Traceback (most recent call last):</span> |
---|
687 | <span class="gr">KeyError</span>: <span class="n">'popitem(): dictionary is empty'</span> |
---|
688 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">popitem</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> |
---|
689 | <span class="gt">Traceback (most recent call last):</span> |
---|
690 | <span class="gr">IndexError</span>: <span class="n">popitem(): index 2 not valid</span> |
---|
691 | </pre></div> |
---|
692 | </div> |
---|
693 | </dd></dl> |
---|
694 | |
---|
695 | <dl class="method"> |
---|
696 | <dt id="sas.data_util.odict.OrderedDict.rename"> |
---|
697 | <tt class="descname">rename</tt><big>(</big><em>old_key</em>, <em>new_key</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict.rename"><span class="viewcode-link">[source]</span></a></dt> |
---|
698 | <dd><p>Rename the key for a given value, without modifying sequence order.</p> |
---|
699 | <p>For the case where new_key already exists this raise an exception, |
---|
700 | since if new_key exists, it is ambiguous as to what happens to the |
---|
701 | associated values, and the position of new_key in the sequence.</p> |
---|
702 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">od</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">()</span> |
---|
703 | <span class="gp">>>> </span><span class="n">od</span><span class="p">[</span><span class="s">'a'</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span> |
---|
704 | <span class="gp">>>> </span><span class="n">od</span><span class="p">[</span><span class="s">'b'</span><span class="p">]</span> <span class="o">=</span> <span class="mi">2</span> |
---|
705 | <span class="gp">>>> </span><span class="n">od</span><span class="o">.</span><span class="n">items</span><span class="p">()</span> |
---|
706 | <span class="go">[('a', 1), ('b', 2)]</span> |
---|
707 | <span class="gp">>>> </span><span class="n">od</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="s">'b'</span><span class="p">,</span> <span class="s">'c'</span><span class="p">)</span> |
---|
708 | <span class="gp">>>> </span><span class="n">od</span><span class="o">.</span><span class="n">items</span><span class="p">()</span> |
---|
709 | <span class="go">[('a', 1), ('c', 2)]</span> |
---|
710 | <span class="gp">>>> </span><span class="n">od</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="s">'c'</span><span class="p">,</span> <span class="s">'a'</span><span class="p">)</span> |
---|
711 | <span class="gt">Traceback (most recent call last):</span> |
---|
712 | <span class="gr">ValueError</span>: <span class="n">New key already exists: 'a'</span> |
---|
713 | <span class="gp">>>> </span><span class="n">od</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="s">'d'</span><span class="p">,</span> <span class="s">'b'</span><span class="p">)</span> |
---|
714 | <span class="gt">Traceback (most recent call last):</span> |
---|
715 | <span class="gr">KeyError</span>: <span class="n">'d'</span> |
---|
716 | </pre></div> |
---|
717 | </div> |
---|
718 | </dd></dl> |
---|
719 | |
---|
720 | <dl class="method"> |
---|
721 | <dt id="sas.data_util.odict.OrderedDict.reverse"> |
---|
722 | <tt class="descname">reverse</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict.reverse"><span class="viewcode-link">[source]</span></a></dt> |
---|
723 | <dd><p>Reverse the order of the OrderedDict.</p> |
---|
724 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))</span> |
---|
725 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">reverse</span><span class="p">()</span> |
---|
726 | <span class="gp">>>> </span><span class="n">d</span> |
---|
727 | <span class="go">OrderedDict([(2, 1), (3, 2), (1, 3)])</span> |
---|
728 | </pre></div> |
---|
729 | </div> |
---|
730 | </dd></dl> |
---|
731 | |
---|
732 | <dl class="method"> |
---|
733 | <dt id="sas.data_util.odict.OrderedDict.setdefault"> |
---|
734 | <tt class="descname">setdefault</tt><big>(</big><em>key</em>, <em>defval=None</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict.setdefault"><span class="viewcode-link">[source]</span></a></dt> |
---|
735 | <dd><div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))</span> |
---|
736 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">setdefault</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> |
---|
737 | <span class="go">3</span> |
---|
738 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">setdefault</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span> <span class="ow">is</span> <span class="bp">None</span> |
---|
739 | <span class="go">True</span> |
---|
740 | <span class="gp">>>> </span><span class="n">d</span> |
---|
741 | <span class="go">OrderedDict([(1, 3), (3, 2), (2, 1), (4, None)])</span> |
---|
742 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">setdefault</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> |
---|
743 | <span class="go">0</span> |
---|
744 | <span class="gp">>>> </span><span class="n">d</span> |
---|
745 | <span class="go">OrderedDict([(1, 3), (3, 2), (2, 1), (4, None), (5, 0)])</span> |
---|
746 | </pre></div> |
---|
747 | </div> |
---|
748 | </dd></dl> |
---|
749 | |
---|
750 | <dl class="method"> |
---|
751 | <dt id="sas.data_util.odict.OrderedDict.setitems"> |
---|
752 | <tt class="descname">setitems</tt><big>(</big><em>items</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict.setitems"><span class="viewcode-link">[source]</span></a></dt> |
---|
753 | <dd><p>This method allows you to set the items in the dict.</p> |
---|
754 | <p>It takes a list of tuples - of the same sort returned by the <tt class="docutils literal"><span class="pre">items</span></tt> |
---|
755 | method.</p> |
---|
756 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">()</span> |
---|
757 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">setitems</span><span class="p">(((</span><span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">)))</span> |
---|
758 | <span class="gp">>>> </span><span class="n">d</span> |
---|
759 | <span class="go">OrderedDict([(3, 1), (2, 3), (1, 2)])</span> |
---|
760 | </pre></div> |
---|
761 | </div> |
---|
762 | </dd></dl> |
---|
763 | |
---|
764 | <dl class="method"> |
---|
765 | <dt id="sas.data_util.odict.OrderedDict.setkeys"> |
---|
766 | <tt class="descname">setkeys</tt><big>(</big><em>keys</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict.setkeys"><span class="viewcode-link">[source]</span></a></dt> |
---|
767 | <dd><p><tt class="docutils literal"><span class="pre">setkeys</span></tt> all ows you to pass in a new list of keys which will |
---|
768 | replace the current set. This must contain the same set of keys, but |
---|
769 | need not be in the same order.</p> |
---|
770 | <p>If you pass in new keys that don’t match, a <tt class="docutils literal"><span class="pre">KeyError</span></tt> will be |
---|
771 | raised.</p> |
---|
772 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))</span> |
---|
773 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span> |
---|
774 | <span class="go">[1, 3, 2]</span> |
---|
775 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">setkeys</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">))</span> |
---|
776 | <span class="gp">>>> </span><span class="n">d</span> |
---|
777 | <span class="go">OrderedDict([(1, 3), (2, 1), (3, 2)])</span> |
---|
778 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">setkeys</span><span class="p">([</span><span class="s">'a'</span><span class="p">,</span> <span class="s">'b'</span><span class="p">,</span> <span class="s">'c'</span><span class="p">])</span> |
---|
779 | <span class="gt">Traceback (most recent call last):</span> |
---|
780 | <span class="gr">KeyError</span>: <span class="n">'Keylist is not the same as current keylist.'</span> |
---|
781 | </pre></div> |
---|
782 | </div> |
---|
783 | </dd></dl> |
---|
784 | |
---|
785 | <dl class="method"> |
---|
786 | <dt id="sas.data_util.odict.OrderedDict.setvalues"> |
---|
787 | <tt class="descname">setvalues</tt><big>(</big><em>values</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict.setvalues"><span class="viewcode-link">[source]</span></a></dt> |
---|
788 | <dd><p>You can pass in a list of values, which will replace the |
---|
789 | current list. The value list must be the same len as the OrderedDict.</p> |
---|
790 | <p>(Or a <tt class="docutils literal"><span class="pre">ValueError</span></tt> is raised.)</p> |
---|
791 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))</span> |
---|
792 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">setvalues</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">))</span> |
---|
793 | <span class="gp">>>> </span><span class="n">d</span> |
---|
794 | <span class="go">OrderedDict([(1, 1), (3, 2), (2, 3)])</span> |
---|
795 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">setvalues</span><span class="p">([</span><span class="mi">6</span><span class="p">])</span> |
---|
796 | <span class="gt">Traceback (most recent call last):</span> |
---|
797 | <span class="gr">ValueError</span>: <span class="n">Value list is not the same length as the OrderedDict.</span> |
---|
798 | </pre></div> |
---|
799 | </div> |
---|
800 | </dd></dl> |
---|
801 | |
---|
802 | <dl class="method"> |
---|
803 | <dt id="sas.data_util.odict.OrderedDict.sort"> |
---|
804 | <tt class="descname">sort</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict.sort"><span class="viewcode-link">[source]</span></a></dt> |
---|
805 | <dd><p>Sort the key order in the OrderedDict.</p> |
---|
806 | <p>This method takes the same arguments as the <tt class="docutils literal"><span class="pre">list.sort</span></tt> method on |
---|
807 | your version of Python.</p> |
---|
808 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">4</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">4</span><span class="p">)))</span> |
---|
809 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span> |
---|
810 | <span class="gp">>>> </span><span class="n">d</span> |
---|
811 | <span class="go">OrderedDict([(1, 4), (2, 2), (3, 3), (4, 1)])</span> |
---|
812 | </pre></div> |
---|
813 | </div> |
---|
814 | </dd></dl> |
---|
815 | |
---|
816 | <dl class="method"> |
---|
817 | <dt id="sas.data_util.odict.OrderedDict.update"> |
---|
818 | <tt class="descname">update</tt><big>(</big><em>from_od</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict.update"><span class="viewcode-link">[source]</span></a></dt> |
---|
819 | <dd><p>Update from another OrderedDict or sequence of (key, value) pairs</p> |
---|
820 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))</span> |
---|
821 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">))))</span> |
---|
822 | <span class="gp">>>> </span><span class="n">d</span> |
---|
823 | <span class="go">OrderedDict([(1, 3), (0, 1), (3, 2), (2, 1)])</span> |
---|
824 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="mi">4</span><span class="p">:</span> <span class="mi">4</span><span class="p">})</span> |
---|
825 | <span class="gt">Traceback (most recent call last):</span> |
---|
826 | <span class="gr">TypeError</span>: <span class="n">undefined order, cannot get items from dict</span> |
---|
827 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">update</span><span class="p">((</span><span class="mi">4</span><span class="p">,</span> <span class="mi">4</span><span class="p">))</span> |
---|
828 | <span class="gt">Traceback (most recent call last):</span> |
---|
829 | <span class="gr">TypeError</span>: <span class="n">cannot convert dictionary update sequence element "4" to a 2-item sequence</span> |
---|
830 | </pre></div> |
---|
831 | </div> |
---|
832 | </dd></dl> |
---|
833 | |
---|
834 | <dl class="method"> |
---|
835 | <dt id="sas.data_util.odict.OrderedDict.values"> |
---|
836 | <tt class="descname">values</tt><big>(</big><em>values=None</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#OrderedDict.values"><span class="viewcode-link">[source]</span></a></dt> |
---|
837 | <dd><p>Return a list of all the values in the OrderedDict.</p> |
---|
838 | <p>Optionally you can pass in a list of values, which will replace the |
---|
839 | current list. The value list must be the same len as the OrderedDict.</p> |
---|
840 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))</span> |
---|
841 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">values</span><span class="p">()</span> |
---|
842 | <span class="go">[3, 2, 1]</span> |
---|
843 | </pre></div> |
---|
844 | </div> |
---|
845 | </dd></dl> |
---|
846 | |
---|
847 | </dd></dl> |
---|
848 | |
---|
849 | <dl class="class"> |
---|
850 | <dt id="sas.data_util.odict.SequenceOrderedDict"> |
---|
851 | <em class="property">class </em><tt class="descclassname">sas.data_util.odict.</tt><tt class="descname">SequenceOrderedDict</tt><big>(</big><em>init_val=()</em>, <em>strict=True</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/odict.html#SequenceOrderedDict"><span class="viewcode-link">[source]</span></a></dt> |
---|
852 | <dd><p>Bases: <a class="reference internal" href="#sas.data_util.odict.OrderedDict" title="sas.data_util.odict.OrderedDict"><tt class="xref py py-class docutils literal"><span class="pre">sas.data_util.odict.OrderedDict</span></tt></a></p> |
---|
853 | <p>Experimental version of OrderedDict that has a custom object for <tt class="docutils literal"><span class="pre">keys</span></tt>, |
---|
854 | <tt class="docutils literal"><span class="pre">values</span></tt>, and <tt class="docutils literal"><span class="pre">items</span></tt>.</p> |
---|
855 | <p>These are callable sequence objects that work as methods, or can be |
---|
856 | manipulated directly as sequences.</p> |
---|
857 | <p>Test for <tt class="docutils literal"><span class="pre">keys</span></tt>, <tt class="docutils literal"><span class="pre">items</span></tt> and <tt class="docutils literal"><span class="pre">values</span></tt>.</p> |
---|
858 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">SequenceOrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">)))</span> |
---|
859 | <span class="gp">>>> </span><span class="n">d</span> |
---|
860 | <span class="go">SequenceOrderedDict([(1, 2), (2, 3), (3, 4)])</span> |
---|
861 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">keys</span> |
---|
862 | <span class="go">[1, 2, 3]</span> |
---|
863 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span> |
---|
864 | <span class="go">[1, 2, 3]</span> |
---|
865 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">setkeys</span><span class="p">((</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">))</span> |
---|
866 | <span class="gp">>>> </span><span class="n">d</span> |
---|
867 | <span class="go">SequenceOrderedDict([(3, 4), (2, 3), (1, 2)])</span> |
---|
868 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">setkeys</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">))</span> |
---|
869 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">keys</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> |
---|
870 | <span class="go">1</span> |
---|
871 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">keys</span><span class="p">[:]</span> |
---|
872 | <span class="go">[1, 2, 3]</span> |
---|
873 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">keys</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> |
---|
874 | <span class="go">3</span> |
---|
875 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">keys</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span> |
---|
876 | <span class="go">2</span> |
---|
877 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">keys</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">]</span> |
---|
878 | <span class="gp">>>> </span><span class="n">d</span> |
---|
879 | <span class="go">SequenceOrderedDict([(2, 3), (1, 2), (3, 4)])</span> |
---|
880 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">keys</span><span class="o">.</span><span class="n">reverse</span><span class="p">()</span> |
---|
881 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">keys</span> |
---|
882 | <span class="go">[3, 1, 2]</span> |
---|
883 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">keys</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">]</span> |
---|
884 | <span class="gp">>>> </span><span class="n">d</span> |
---|
885 | <span class="go">SequenceOrderedDict([(1, 2), (2, 3), (3, 4)])</span> |
---|
886 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">keys</span> <span class="o">=</span> <span class="p">[</span><span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">]</span> |
---|
887 | <span class="gp">>>> </span><span class="n">d</span> |
---|
888 | <span class="go">SequenceOrderedDict([(3, 4), (1, 2), (2, 3)])</span> |
---|
889 | <span class="gp">>>> </span><span class="n">a</span> <span class="o">=</span> <span class="n">SequenceOrderedDict</span><span class="p">()</span> |
---|
890 | <span class="gp">>>> </span><span class="n">b</span> <span class="o">=</span> <span class="n">SequenceOrderedDict</span><span class="p">()</span> |
---|
891 | <span class="gp">>>> </span><span class="n">a</span><span class="o">.</span><span class="n">keys</span> <span class="o">==</span> <span class="n">b</span><span class="o">.</span><span class="n">keys</span> |
---|
892 | <span class="go">1</span> |
---|
893 | <span class="gp">>>> </span><span class="n">a</span><span class="p">[</span><span class="s">'a'</span><span class="p">]</span> <span class="o">=</span> <span class="mi">3</span> |
---|
894 | <span class="gp">>>> </span><span class="n">a</span><span class="o">.</span><span class="n">keys</span> <span class="o">==</span> <span class="n">b</span><span class="o">.</span><span class="n">keys</span> |
---|
895 | <span class="go">0</span> |
---|
896 | <span class="gp">>>> </span><span class="n">b</span><span class="p">[</span><span class="s">'a'</span><span class="p">]</span> <span class="o">=</span> <span class="mi">3</span> |
---|
897 | <span class="gp">>>> </span><span class="n">a</span><span class="o">.</span><span class="n">keys</span> <span class="o">==</span> <span class="n">b</span><span class="o">.</span><span class="n">keys</span> |
---|
898 | <span class="go">1</span> |
---|
899 | <span class="gp">>>> </span><span class="n">b</span><span class="p">[</span><span class="s">'b'</span><span class="p">]</span> <span class="o">=</span> <span class="mi">3</span> |
---|
900 | <span class="gp">>>> </span><span class="n">a</span><span class="o">.</span><span class="n">keys</span> <span class="o">==</span> <span class="n">b</span><span class="o">.</span><span class="n">keys</span> |
---|
901 | <span class="go">0</span> |
---|
902 | <span class="gp">>>> </span><span class="n">a</span><span class="o">.</span><span class="n">keys</span> <span class="o">></span> <span class="n">b</span><span class="o">.</span><span class="n">keys</span> |
---|
903 | <span class="go">0</span> |
---|
904 | <span class="gp">>>> </span><span class="n">a</span><span class="o">.</span><span class="n">keys</span> <span class="o"><</span> <span class="n">b</span><span class="o">.</span><span class="n">keys</span> |
---|
905 | <span class="go">1</span> |
---|
906 | <span class="gp">>>> </span><span class="s">'a'</span> <span class="ow">in</span> <span class="n">a</span><span class="o">.</span><span class="n">keys</span> |
---|
907 | <span class="go">1</span> |
---|
908 | <span class="gp">>>> </span><span class="nb">len</span><span class="p">(</span><span class="n">b</span><span class="o">.</span><span class="n">keys</span><span class="p">)</span> |
---|
909 | <span class="go">2</span> |
---|
910 | <span class="gp">>>> </span><span class="s">'c'</span> <span class="ow">in</span> <span class="n">d</span><span class="o">.</span><span class="n">keys</span> |
---|
911 | <span class="go">0</span> |
---|
912 | <span class="gp">>>> </span><span class="mi">1</span> <span class="ow">in</span> <span class="n">d</span><span class="o">.</span><span class="n">keys</span> |
---|
913 | <span class="go">1</span> |
---|
914 | <span class="gp">>>> </span><span class="p">[</span><span class="n">v</span> <span class="k">for</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">d</span><span class="o">.</span><span class="n">keys</span><span class="p">]</span> |
---|
915 | <span class="go">[3, 1, 2]</span> |
---|
916 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">keys</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span> |
---|
917 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">keys</span> |
---|
918 | <span class="go">[1, 2, 3]</span> |
---|
919 | <span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">SequenceOrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">)),</span> <span class="n">strict</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> |
---|
920 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">keys</span><span class="p">[::</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">]</span> |
---|
921 | <span class="gp">>>> </span><span class="n">d</span> |
---|
922 | <span class="go">SequenceOrderedDict([(3, 4), (2, 3), (1, 2)])</span> |
---|
923 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">keys</span><span class="p">[:</span><span class="mi">2</span><span class="p">]</span> |
---|
924 | <span class="go">[3, 2]</span> |
---|
925 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">keys</span><span class="p">[:</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">]</span> |
---|
926 | <span class="gt">Traceback (most recent call last):</span> |
---|
927 | <span class="gr">KeyError</span>: <span class="n">'Keylist is not the same as current keylist.'</span> |
---|
928 | </pre></div> |
---|
929 | </div> |
---|
930 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">SequenceOrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">)))</span> |
---|
931 | <span class="gp">>>> </span><span class="n">d</span> |
---|
932 | <span class="go">SequenceOrderedDict([(1, 2), (2, 3), (3, 4)])</span> |
---|
933 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">values</span> |
---|
934 | <span class="go">[2, 3, 4]</span> |
---|
935 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">values</span><span class="p">()</span> |
---|
936 | <span class="go">[2, 3, 4]</span> |
---|
937 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">setvalues</span><span class="p">((</span><span class="mi">4</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">))</span> |
---|
938 | <span class="gp">>>> </span><span class="n">d</span> |
---|
939 | <span class="go">SequenceOrderedDict([(1, 4), (2, 3), (3, 2)])</span> |
---|
940 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">values</span><span class="p">[::</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> |
---|
941 | <span class="go">[2, 3, 4]</span> |
---|
942 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">values</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> |
---|
943 | <span class="go">4</span> |
---|
944 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">values</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span> |
---|
945 | <span class="go">3</span> |
---|
946 | <span class="gp">>>> </span><span class="k">del</span> <span class="n">d</span><span class="o">.</span><span class="n">values</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> |
---|
947 | <span class="gt">Traceback (most recent call last):</span> |
---|
948 | <span class="gr">TypeError</span>: <span class="n">Can't delete items from values</span> |
---|
949 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">values</span><span class="p">[::</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">]</span> |
---|
950 | <span class="gp">>>> </span><span class="n">d</span> |
---|
951 | <span class="go">SequenceOrderedDict([(1, 2), (2, 3), (3, 4)])</span> |
---|
952 | <span class="gp">>>> </span><span class="mi">7</span> <span class="ow">in</span> <span class="n">d</span><span class="o">.</span><span class="n">values</span> |
---|
953 | <span class="go">0</span> |
---|
954 | <span class="gp">>>> </span><span class="nb">len</span><span class="p">(</span><span class="n">d</span><span class="o">.</span><span class="n">values</span><span class="p">)</span> |
---|
955 | <span class="go">3</span> |
---|
956 | <span class="gp">>>> </span><span class="p">[</span><span class="n">val</span> <span class="k">for</span> <span class="n">val</span> <span class="ow">in</span> <span class="n">d</span><span class="o">.</span><span class="n">values</span><span class="p">]</span> |
---|
957 | <span class="go">[2, 3, 4]</span> |
---|
958 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">values</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="mi">2</span> |
---|
959 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">values</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> |
---|
960 | <span class="go">2</span> |
---|
961 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">values</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> |
---|
962 | <span class="go">0</span> |
---|
963 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">values</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="mi">7</span> |
---|
964 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">values</span> |
---|
965 | <span class="go">[2, 3, 7]</span> |
---|
966 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">values</span><span class="o">.</span><span class="n">reverse</span><span class="p">()</span> |
---|
967 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">values</span> |
---|
968 | <span class="go">[7, 3, 2]</span> |
---|
969 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">values</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span> |
---|
970 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">values</span> |
---|
971 | <span class="go">[2, 3, 7]</span> |
---|
972 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">values</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s">'anything'</span><span class="p">)</span> |
---|
973 | <span class="gt">Traceback (most recent call last):</span> |
---|
974 | <span class="gr">TypeError</span>: <span class="n">Can't append items to values</span> |
---|
975 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">values</span> <span class="o">=</span> <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> |
---|
976 | <span class="gp">>>> </span><span class="n">d</span> |
---|
977 | <span class="go">SequenceOrderedDict([(1, 1), (2, 2), (3, 3)])</span> |
---|
978 | </pre></div> |
---|
979 | </div> |
---|
980 | <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="n">SequenceOrderedDict</span><span class="p">(((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">)))</span> |
---|
981 | <span class="gp">>>> </span><span class="n">d</span> |
---|
982 | <span class="go">SequenceOrderedDict([(1, 2), (2, 3), (3, 4)])</span> |
---|
983 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="p">()</span> |
---|
984 | <span class="go">[(1, 2), (2, 3), (3, 4)]</span> |
---|
985 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">setitems</span><span class="p">([(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span> <span class="p">,</span><span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">)])</span> |
---|
986 | <span class="gp">>>> </span><span class="n">d</span> |
---|
987 | <span class="go">SequenceOrderedDict([(3, 4), (2, 3), (1, 2)])</span> |
---|
988 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> |
---|
989 | <span class="go">(3, 4)</span> |
---|
990 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> |
---|
991 | <span class="go">[(3, 4), (2, 3)]</span> |
---|
992 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="mi">6</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> |
---|
993 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span> |
---|
994 | <span class="go">[(3, 4), (6, 3), (1, 2)]</span> |
---|
995 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="p">[</span><span class="mi">1</span><span class="p">:</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="p">[(</span><span class="mi">9</span><span class="p">,</span> <span class="mi">9</span><span class="p">)]</span> |
---|
996 | <span class="gp">>>> </span><span class="n">d</span> |
---|
997 | <span class="go">SequenceOrderedDict([(3, 4), (9, 9), (1, 2)])</span> |
---|
998 | <span class="gp">>>> </span><span class="k">del</span> <span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="p">[</span><span class="mi">1</span><span class="p">:</span><span class="mi">2</span><span class="p">]</span> |
---|
999 | <span class="gp">>>> </span><span class="n">d</span> |
---|
1000 | <span class="go">SequenceOrderedDict([(3, 4), (1, 2)])</span> |
---|
1001 | <span class="gp">>>> </span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span> <span class="ow">in</span> <span class="n">d</span><span class="o">.</span><span class="n">items</span> |
---|
1002 | <span class="go">1</span> |
---|
1003 | <span class="gp">>>> </span><span class="p">(</span><span class="mi">4</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> <span class="ow">in</span> <span class="n">d</span><span class="o">.</span><span class="n">items</span> |
---|
1004 | <span class="go">0</span> |
---|
1005 | <span class="gp">>>> </span><span class="nb">len</span><span class="p">(</span><span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="p">)</span> |
---|
1006 | <span class="go">2</span> |
---|
1007 | <span class="gp">>>> </span><span class="p">[</span><span class="n">v</span> <span class="k">for</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="p">]</span> |
---|
1008 | <span class="go">[(3, 4), (1, 2)]</span> |
---|
1009 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="o">.</span><span class="n">count</span><span class="p">((</span><span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">))</span> |
---|
1010 | <span class="go">1</span> |
---|
1011 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="o">.</span><span class="n">index</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">))</span> |
---|
1012 | <span class="go">1</span> |
---|
1013 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="o">.</span><span class="n">index</span><span class="p">((</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">))</span> |
---|
1014 | <span class="gt">Traceback (most recent call last):</span> |
---|
1015 | <span class="gr">ValueError</span>: <span class="n">list.index(x): x not in list</span> |
---|
1016 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="o">.</span><span class="n">reverse</span><span class="p">()</span> |
---|
1017 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span> |
---|
1018 | <span class="go">[(1, 2), (3, 4)]</span> |
---|
1019 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="o">.</span><span class="n">reverse</span><span class="p">()</span> |
---|
1020 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span> |
---|
1021 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span> |
---|
1022 | <span class="go">[(1, 2), (3, 4)]</span> |
---|
1023 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">))</span> |
---|
1024 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span> |
---|
1025 | <span class="go">[(1, 2), (3, 4), (5, 6)]</span> |
---|
1026 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">))</span> |
---|
1027 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span> |
---|
1028 | <span class="go">[(0, 0), (1, 2), (3, 4), (5, 6)]</span> |
---|
1029 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="p">(</span><span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">))</span> |
---|
1030 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span> |
---|
1031 | <span class="go">[(0, 0), (1, 2), (3, 4), (7, 8), (5, 6)]</span> |
---|
1032 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="o">.</span><span class="n">pop</span><span class="p">()</span> |
---|
1033 | <span class="go">(5, 6)</span> |
---|
1034 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span> |
---|
1035 | <span class="go">[(0, 0), (1, 2), (3, 4), (7, 8)]</span> |
---|
1036 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="o">.</span><span class="n">remove</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">))</span> |
---|
1037 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span> |
---|
1038 | <span class="go">[(0, 0), (3, 4), (7, 8)]</span> |
---|
1039 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="o">.</span><span class="n">extend</span><span class="p">([(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">)])</span> |
---|
1040 | <span class="gp">>>> </span><span class="n">d</span><span class="o">.</span><span class="n">items</span> |
---|
1041 | <span class="go">[(0, 0), (3, 4), (7, 8), (1, 2), (5, 6)]</span> |
---|
1042 | </pre></div> |
---|
1043 | </div> |
---|
1044 | </dd></dl> |
---|
1045 | |
---|
1046 | </div> |
---|
1047 | <div class="section" id="module-sas.data_util.ordereddict"> |
---|
1048 | <span id="sas-data-util-ordereddict-module"></span><h2>sas.data_util.ordereddict module</h2> |
---|
1049 | <p>Backport from python2.7 to python <= 2.6.</p> |
---|
1050 | <dl class="class"> |
---|
1051 | <dt id="sas.data_util.ordereddict.OrderedDict"> |
---|
1052 | <em class="property">class </em><tt class="descclassname">sas.data_util.ordereddict.</tt><tt class="descname">OrderedDict</tt><big>(</big><em>*args</em>, <em>**kwds</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddict.html#OrderedDict"><span class="viewcode-link">[source]</span></a></dt> |
---|
1053 | <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">dict</span></tt></p> |
---|
1054 | <dl class="method"> |
---|
1055 | <dt id="sas.data_util.ordereddict.OrderedDict.clear"> |
---|
1056 | <tt class="descname">clear</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddict.html#OrderedDict.clear"><span class="viewcode-link">[source]</span></a></dt> |
---|
1057 | <dd></dd></dl> |
---|
1058 | |
---|
1059 | <dl class="method"> |
---|
1060 | <dt id="sas.data_util.ordereddict.OrderedDict.copy"> |
---|
1061 | <tt class="descname">copy</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddict.html#OrderedDict.copy"><span class="viewcode-link">[source]</span></a></dt> |
---|
1062 | <dd></dd></dl> |
---|
1063 | |
---|
1064 | <dl class="classmethod"> |
---|
1065 | <dt id="sas.data_util.ordereddict.OrderedDict.fromkeys"> |
---|
1066 | <em class="property">classmethod </em><tt class="descname">fromkeys</tt><big>(</big><em>iterable</em>, <em>value=None</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddict.html#OrderedDict.fromkeys"><span class="viewcode-link">[source]</span></a></dt> |
---|
1067 | <dd></dd></dl> |
---|
1068 | |
---|
1069 | <dl class="method"> |
---|
1070 | <dt id="sas.data_util.ordereddict.OrderedDict.items"> |
---|
1071 | <tt class="descname">items</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddict.html#OrderedDict.items"><span class="viewcode-link">[source]</span></a></dt> |
---|
1072 | <dd></dd></dl> |
---|
1073 | |
---|
1074 | <dl class="method"> |
---|
1075 | <dt id="sas.data_util.ordereddict.OrderedDict.keys"> |
---|
1076 | <tt class="descname">keys</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddict.html#OrderedDict.keys"><span class="viewcode-link">[source]</span></a></dt> |
---|
1077 | <dd></dd></dl> |
---|
1078 | |
---|
1079 | <dl class="method"> |
---|
1080 | <dt id="sas.data_util.ordereddict.OrderedDict.pop"> |
---|
1081 | <tt class="descname">pop</tt><big>(</big><em>key</em>, <em>default=<object object at 0x10a676140></em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddict.html#OrderedDict.pop"><span class="viewcode-link">[source]</span></a></dt> |
---|
1082 | <dd></dd></dl> |
---|
1083 | |
---|
1084 | <dl class="method"> |
---|
1085 | <dt id="sas.data_util.ordereddict.OrderedDict.popitem"> |
---|
1086 | <tt class="descname">popitem</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddict.html#OrderedDict.popitem"><span class="viewcode-link">[source]</span></a></dt> |
---|
1087 | <dd></dd></dl> |
---|
1088 | |
---|
1089 | <dl class="method"> |
---|
1090 | <dt id="sas.data_util.ordereddict.OrderedDict.setdefault"> |
---|
1091 | <tt class="descname">setdefault</tt><big>(</big><em>key</em>, <em>default=None</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddict.html#OrderedDict.setdefault"><span class="viewcode-link">[source]</span></a></dt> |
---|
1092 | <dd></dd></dl> |
---|
1093 | |
---|
1094 | <dl class="method"> |
---|
1095 | <dt id="sas.data_util.ordereddict.OrderedDict.update"> |
---|
1096 | <tt class="descname">update</tt><big>(</big><em>other=()</em>, <em>**kwds</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddict.html#OrderedDict.update"><span class="viewcode-link">[source]</span></a></dt> |
---|
1097 | <dd></dd></dl> |
---|
1098 | |
---|
1099 | <dl class="method"> |
---|
1100 | <dt id="sas.data_util.ordereddict.OrderedDict.values"> |
---|
1101 | <tt class="descname">values</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddict.html#OrderedDict.values"><span class="viewcode-link">[source]</span></a></dt> |
---|
1102 | <dd></dd></dl> |
---|
1103 | |
---|
1104 | </dd></dl> |
---|
1105 | |
---|
1106 | </div> |
---|
1107 | <div class="section" id="module-sas.data_util.ordereddicttest"> |
---|
1108 | <span id="sas-data-util-ordereddicttest-module"></span><h2>sas.data_util.ordereddicttest module</h2> |
---|
1109 | <dl class="class"> |
---|
1110 | <dt id="sas.data_util.ordereddicttest.TestOrderedDict"> |
---|
1111 | <em class="property">class </em><tt class="descclassname">sas.data_util.ordereddicttest.</tt><tt class="descname">TestOrderedDict</tt><big>(</big><em>methodName='runTest'</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddicttest.html#TestOrderedDict"><span class="viewcode-link">[source]</span></a></dt> |
---|
1112 | <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">unittest.case.TestCase</span></tt></p> |
---|
1113 | <dl class="method"> |
---|
1114 | <dt id="sas.data_util.ordereddicttest.TestOrderedDict.test_clear"> |
---|
1115 | <tt class="descname">test_clear</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddicttest.html#TestOrderedDict.test_clear"><span class="viewcode-link">[source]</span></a></dt> |
---|
1116 | <dd></dd></dl> |
---|
1117 | |
---|
1118 | <dl class="method"> |
---|
1119 | <dt id="sas.data_util.ordereddicttest.TestOrderedDict.test_copying"> |
---|
1120 | <tt class="descname">test_copying</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddicttest.html#TestOrderedDict.test_copying"><span class="viewcode-link">[source]</span></a></dt> |
---|
1121 | <dd></dd></dl> |
---|
1122 | |
---|
1123 | <dl class="method"> |
---|
1124 | <dt id="sas.data_util.ordereddicttest.TestOrderedDict.test_delitem"> |
---|
1125 | <tt class="descname">test_delitem</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddicttest.html#TestOrderedDict.test_delitem"><span class="viewcode-link">[source]</span></a></dt> |
---|
1126 | <dd></dd></dl> |
---|
1127 | |
---|
1128 | <dl class="method"> |
---|
1129 | <dt id="sas.data_util.ordereddicttest.TestOrderedDict.test_equality"> |
---|
1130 | <tt class="descname">test_equality</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddicttest.html#TestOrderedDict.test_equality"><span class="viewcode-link">[source]</span></a></dt> |
---|
1131 | <dd></dd></dl> |
---|
1132 | |
---|
1133 | <dl class="method"> |
---|
1134 | <dt id="sas.data_util.ordereddicttest.TestOrderedDict.test_init"> |
---|
1135 | <tt class="descname">test_init</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddicttest.html#TestOrderedDict.test_init"><span class="viewcode-link">[source]</span></a></dt> |
---|
1136 | <dd></dd></dl> |
---|
1137 | |
---|
1138 | <dl class="method"> |
---|
1139 | <dt id="sas.data_util.ordereddicttest.TestOrderedDict.test_iterators"> |
---|
1140 | <tt class="descname">test_iterators</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddicttest.html#TestOrderedDict.test_iterators"><span class="viewcode-link">[source]</span></a></dt> |
---|
1141 | <dd></dd></dl> |
---|
1142 | |
---|
1143 | <dl class="method"> |
---|
1144 | <dt id="sas.data_util.ordereddicttest.TestOrderedDict.test_pop"> |
---|
1145 | <tt class="descname">test_pop</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddicttest.html#TestOrderedDict.test_pop"><span class="viewcode-link">[source]</span></a></dt> |
---|
1146 | <dd></dd></dl> |
---|
1147 | |
---|
1148 | <dl class="method"> |
---|
1149 | <dt id="sas.data_util.ordereddicttest.TestOrderedDict.test_popitem"> |
---|
1150 | <tt class="descname">test_popitem</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddicttest.html#TestOrderedDict.test_popitem"><span class="viewcode-link">[source]</span></a></dt> |
---|
1151 | <dd></dd></dl> |
---|
1152 | |
---|
1153 | <dl class="method"> |
---|
1154 | <dt id="sas.data_util.ordereddicttest.TestOrderedDict.test_reinsert"> |
---|
1155 | <tt class="descname">test_reinsert</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddicttest.html#TestOrderedDict.test_reinsert"><span class="viewcode-link">[source]</span></a></dt> |
---|
1156 | <dd></dd></dl> |
---|
1157 | |
---|
1158 | <dl class="method"> |
---|
1159 | <dt id="sas.data_util.ordereddicttest.TestOrderedDict.test_repr"> |
---|
1160 | <tt class="descname">test_repr</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddicttest.html#TestOrderedDict.test_repr"><span class="viewcode-link">[source]</span></a></dt> |
---|
1161 | <dd></dd></dl> |
---|
1162 | |
---|
1163 | <dl class="method"> |
---|
1164 | <dt id="sas.data_util.ordereddicttest.TestOrderedDict.test_setdefault"> |
---|
1165 | <tt class="descname">test_setdefault</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddicttest.html#TestOrderedDict.test_setdefault"><span class="viewcode-link">[source]</span></a></dt> |
---|
1166 | <dd></dd></dl> |
---|
1167 | |
---|
1168 | <dl class="method"> |
---|
1169 | <dt id="sas.data_util.ordereddicttest.TestOrderedDict.test_setitem"> |
---|
1170 | <tt class="descname">test_setitem</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddicttest.html#TestOrderedDict.test_setitem"><span class="viewcode-link">[source]</span></a></dt> |
---|
1171 | <dd></dd></dl> |
---|
1172 | |
---|
1173 | <dl class="method"> |
---|
1174 | <dt id="sas.data_util.ordereddicttest.TestOrderedDict.test_update"> |
---|
1175 | <tt class="descname">test_update</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/ordereddicttest.html#TestOrderedDict.test_update"><span class="viewcode-link">[source]</span></a></dt> |
---|
1176 | <dd></dd></dl> |
---|
1177 | |
---|
1178 | </dd></dl> |
---|
1179 | |
---|
1180 | </div> |
---|
1181 | <div class="section" id="module-sas.data_util.pathutils"> |
---|
1182 | <span id="sas-data-util-pathutils-module"></span><h2>sas.data_util.pathutils module</h2> |
---|
1183 | <p>Utilities for path manipulation. Not to be confused with the pathutils module |
---|
1184 | from the pythonutils package (<a class="reference external" href="http://groups.google.com/group/pythonutils">http://groups.google.com/group/pythonutils</a>).</p> |
---|
1185 | <dl class="function"> |
---|
1186 | <dt id="sas.data_util.pathutils.relpath"> |
---|
1187 | <tt class="descclassname">sas.data_util.pathutils.</tt><tt class="descname">relpath</tt><big>(</big><em>p1</em>, <em>p2</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/pathutils.html#relpath"><span class="viewcode-link">[source]</span></a></dt> |
---|
1188 | <dd><p>Compute the relative path of p1 with respect to p2.</p> |
---|
1189 | </dd></dl> |
---|
1190 | |
---|
1191 | </div> |
---|
1192 | <div class="section" id="module-sas.data_util.registry"> |
---|
1193 | <span id="sas-data-util-registry-module"></span><h2>sas.data_util.registry module</h2> |
---|
1194 | <p>File extension registry.</p> |
---|
1195 | <p>This provides routines for opening files based on extension, |
---|
1196 | and registers the built-in file extensions.</p> |
---|
1197 | <dl class="class"> |
---|
1198 | <dt id="sas.data_util.registry.ExtensionRegistry"> |
---|
1199 | <em class="property">class </em><tt class="descclassname">sas.data_util.registry.</tt><tt class="descname">ExtensionRegistry</tt><big>(</big><em>**kw</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/registry.html#ExtensionRegistry"><span class="viewcode-link">[source]</span></a></dt> |
---|
1200 | <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p> |
---|
1201 | <p>Associate a file loader with an extension.</p> |
---|
1202 | <p>Note that there may be multiple loaders for the same extension.</p> |
---|
1203 | <p>Example:</p> |
---|
1204 | <div class="highlight-python"><div class="highlight"><pre>registry = ExtensionRegistry() |
---|
1205 | |
---|
1206 | # Add an association by setting an element |
---|
1207 | registry['.zip'] = unzip |
---|
1208 | |
---|
1209 | # Multiple extensions for one loader |
---|
1210 | registry['.tgz'] = untar |
---|
1211 | registry['.tar.gz'] = untar |
---|
1212 | |
---|
1213 | # Generic extensions to use after trying more specific extensions; |
---|
1214 | # these will be checked after the more specific extensions fail. |
---|
1215 | registry['.gz'] = gunzip |
---|
1216 | |
---|
1217 | # Multiple loaders for one extension |
---|
1218 | registry['.cx'] = cx1 |
---|
1219 | registry['.cx'] = cx2 |
---|
1220 | registry['.cx'] = cx3 |
---|
1221 | |
---|
1222 | # Show registered extensions |
---|
1223 | print registry.extensions() |
---|
1224 | |
---|
1225 | # Can also register a format name for explicit control from caller |
---|
1226 | registry['cx3'] = cx3 |
---|
1227 | print registry.formats() |
---|
1228 | |
---|
1229 | # Retrieve loaders for a file name |
---|
1230 | registry.lookup('hello.cx') -> [cx3,cx2,cx1] |
---|
1231 | |
---|
1232 | # Run loader on a filename |
---|
1233 | registry.load('hello.cx') -> |
---|
1234 | try: |
---|
1235 | return cx3('hello.cx') |
---|
1236 | except: |
---|
1237 | try: |
---|
1238 | return cx2('hello.cx') |
---|
1239 | except: |
---|
1240 | return cx1('hello.cx') |
---|
1241 | |
---|
1242 | # Load in a specific format ignoring extension |
---|
1243 | registry.load('hello.cx',format='cx3') -> |
---|
1244 | return cx3('hello.cx') |
---|
1245 | </pre></div> |
---|
1246 | </div> |
---|
1247 | <dl class="method"> |
---|
1248 | <dt id="sas.data_util.registry.ExtensionRegistry.extensions"> |
---|
1249 | <tt class="descname">extensions</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/registry.html#ExtensionRegistry.extensions"><span class="viewcode-link">[source]</span></a></dt> |
---|
1250 | <dd><p>Return a sorted list of registered extensions.</p> |
---|
1251 | </dd></dl> |
---|
1252 | |
---|
1253 | <dl class="method"> |
---|
1254 | <dt id="sas.data_util.registry.ExtensionRegistry.formats"> |
---|
1255 | <tt class="descname">formats</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/registry.html#ExtensionRegistry.formats"><span class="viewcode-link">[source]</span></a></dt> |
---|
1256 | <dd><p>Return a sorted list of the registered formats.</p> |
---|
1257 | </dd></dl> |
---|
1258 | |
---|
1259 | <dl class="method"> |
---|
1260 | <dt id="sas.data_util.registry.ExtensionRegistry.load"> |
---|
1261 | <tt class="descname">load</tt><big>(</big><em>path</em>, <em>format=None</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/registry.html#ExtensionRegistry.load"><span class="viewcode-link">[source]</span></a></dt> |
---|
1262 | <dd><p>Call the loader for the file type of path.</p> |
---|
1263 | <p>Raises ValueError if no loader is available. |
---|
1264 | Raises KeyError if format is not available. |
---|
1265 | May raise a loader-defined exception if loader fails.</p> |
---|
1266 | </dd></dl> |
---|
1267 | |
---|
1268 | <dl class="method"> |
---|
1269 | <dt id="sas.data_util.registry.ExtensionRegistry.lookup"> |
---|
1270 | <tt class="descname">lookup</tt><big>(</big><em>path</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/registry.html#ExtensionRegistry.lookup"><span class="viewcode-link">[source]</span></a></dt> |
---|
1271 | <dd><p>Return the loader associated with the file type of path.</p> |
---|
1272 | <p>Raises ValueError if file type is not known.</p> |
---|
1273 | </dd></dl> |
---|
1274 | |
---|
1275 | </dd></dl> |
---|
1276 | |
---|
1277 | <dl class="function"> |
---|
1278 | <dt id="sas.data_util.registry.test"> |
---|
1279 | <tt class="descclassname">sas.data_util.registry.</tt><tt class="descname">test</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/registry.html#test"><span class="viewcode-link">[source]</span></a></dt> |
---|
1280 | <dd></dd></dl> |
---|
1281 | |
---|
1282 | </div> |
---|
1283 | <div class="section" id="module-sas.data_util.uncertainty"> |
---|
1284 | <span id="sas-data-util-uncertainty-module"></span><h2>sas.data_util.uncertainty module</h2> |
---|
1285 | <p>Uncertainty propagation class, and log() and exp() functions.</p> |
---|
1286 | <p>Based on scalars or numpy vectors, this class allows you to store and |
---|
1287 | manipulate values+uncertainties, with propagation of gaussian error for |
---|
1288 | addition, subtraction, multiplication, division, power, exp() and log().</p> |
---|
1289 | <p>Storage properties are determined by the numbers used to set the value |
---|
1290 | and uncertainty. Be sure to use floating point uncertainty vectors |
---|
1291 | for inplace operations since numpy does not do automatic type conversion. |
---|
1292 | Normal operations can use mixed integer and floating point. In place |
---|
1293 | operations (a <a href="#id7"><span class="problematic" id="id8">*</span></a>= b, etc.) create at most one extra copy for each operation. |
---|
1294 | c = a*b by contrast uses four intermediate vectors, so shouldn’t be used |
---|
1295 | for huge arrays.</p> |
---|
1296 | <dl class="class"> |
---|
1297 | <dt id="sas.data_util.uncertainty.Uncertainty"> |
---|
1298 | <em class="property">class </em><tt class="descclassname">sas.data_util.uncertainty.</tt><tt class="descname">Uncertainty</tt><big>(</big><em>x</em>, <em>variance=None</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/uncertainty.html#Uncertainty"><span class="viewcode-link">[source]</span></a></dt> |
---|
1299 | <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p> |
---|
1300 | <dl class="attribute"> |
---|
1301 | <dt id="sas.data_util.uncertainty.Uncertainty.dx"> |
---|
1302 | <tt class="descname">dx</tt></dt> |
---|
1303 | <dd><p>standard deviation</p> |
---|
1304 | </dd></dl> |
---|
1305 | |
---|
1306 | <dl class="method"> |
---|
1307 | <dt id="sas.data_util.uncertainty.Uncertainty.exp"> |
---|
1308 | <tt class="descname">exp</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/uncertainty.html#Uncertainty.exp"><span class="viewcode-link">[source]</span></a></dt> |
---|
1309 | <dd></dd></dl> |
---|
1310 | |
---|
1311 | <dl class="method"> |
---|
1312 | <dt id="sas.data_util.uncertainty.Uncertainty.log"> |
---|
1313 | <tt class="descname">log</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/uncertainty.html#Uncertainty.log"><span class="viewcode-link">[source]</span></a></dt> |
---|
1314 | <dd></dd></dl> |
---|
1315 | |
---|
1316 | </dd></dl> |
---|
1317 | |
---|
1318 | </div> |
---|
1319 | <div class="section" id="module-sas.data_util.uniquelist"> |
---|
1320 | <span id="sas-data-util-uniquelist-module"></span><h2>sas.data_util.uniquelist module</h2> |
---|
1321 | <dl class="function"> |
---|
1322 | <dt id="sas.data_util.uniquelist.main"> |
---|
1323 | <tt class="descclassname">sas.data_util.uniquelist.</tt><tt class="descname">main</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/uniquelist.html#main"><span class="viewcode-link">[source]</span></a></dt> |
---|
1324 | <dd></dd></dl> |
---|
1325 | |
---|
1326 | <dl class="function"> |
---|
1327 | <dt id="sas.data_util.uniquelist.test"> |
---|
1328 | <tt class="descclassname">sas.data_util.uniquelist.</tt><tt class="descname">test</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/uniquelist.html#test"><span class="viewcode-link">[source]</span></a></dt> |
---|
1329 | <dd></dd></dl> |
---|
1330 | |
---|
1331 | <dl class="function"> |
---|
1332 | <dt id="sas.data_util.uniquelist.uniquelist"> |
---|
1333 | <tt class="descclassname">sas.data_util.uniquelist.</tt><tt class="descname">uniquelist</tt><big>(</big><em>inputlist</em>, <em>hash=None</em><big>)</big><a class="reference internal" href="../../_modules/sas/data_util/uniquelist.html#uniquelist"><span class="viewcode-link">[source]</span></a></dt> |
---|
1334 | <dd><p>remove redunduant elements from the give list |
---|
1335 | and return a list of unique elements.</p> |
---|
1336 | <p>inputlist: input list |
---|
1337 | hash: use this function to make the items in the list hashable.</p> |
---|
1338 | <dl class="docutils"> |
---|
1339 | <dt>Implementation details:</dt> |
---|
1340 | <dd>This function is order-preserving.</dd> |
---|
1341 | </dl> |
---|
1342 | </dd></dl> |
---|
1343 | |
---|
1344 | </div> |
---|
1345 | <div class="section" id="module-sas.data_util"> |
---|
1346 | <span id="module-contents"></span><h2>Module contents</h2> |
---|
1347 | </div> |
---|
1348 | </div> |
---|
1349 | |
---|
1350 | |
---|
1351 | </div> |
---|
1352 | </div> |
---|
1353 | </div> |
---|
1354 | <div class="sphinxsidebar"> |
---|
1355 | <div class="sphinxsidebarwrapper"> |
---|
1356 | <h3><a href="../../index.html">Table Of Contents</a></h3> |
---|
1357 | <ul> |
---|
1358 | <li><a class="reference internal" href="#">sas.data_util package</a><ul> |
---|
1359 | <li><a class="reference internal" href="#submodules">Submodules</a></li> |
---|
1360 | <li><a class="reference internal" href="#module-sas.data_util.calcthread">sas.data_util.calcthread module</a></li> |
---|
1361 | <li><a class="reference internal" href="#module-sas.data_util.err1d">sas.data_util.err1d module</a></li> |
---|
1362 | <li><a class="reference internal" href="#module-sas.data_util.formatnum">sas.data_util.formatnum module</a></li> |
---|
1363 | <li><a class="reference internal" href="#module-sas.data_util.nxsunit">sas.data_util.nxsunit module</a></li> |
---|
1364 | <li><a class="reference internal" href="#module-sas.data_util.odict">sas.data_util.odict module</a></li> |
---|
1365 | <li><a class="reference internal" href="#module-sas.data_util.ordereddict">sas.data_util.ordereddict module</a></li> |
---|
1366 | <li><a class="reference internal" href="#module-sas.data_util.ordereddicttest">sas.data_util.ordereddicttest module</a></li> |
---|
1367 | <li><a class="reference internal" href="#module-sas.data_util.pathutils">sas.data_util.pathutils module</a></li> |
---|
1368 | <li><a class="reference internal" href="#module-sas.data_util.registry">sas.data_util.registry module</a></li> |
---|
1369 | <li><a class="reference internal" href="#module-sas.data_util.uncertainty">sas.data_util.uncertainty module</a></li> |
---|
1370 | <li><a class="reference internal" href="#module-sas.data_util.uniquelist">sas.data_util.uniquelist module</a></li> |
---|
1371 | <li><a class="reference internal" href="#module-sas.data_util">Module contents</a></li> |
---|
1372 | </ul> |
---|
1373 | </li> |
---|
1374 | </ul> |
---|
1375 | |
---|
1376 | <h4>Previous topic</h4> |
---|
1377 | <p class="topless"><a href="sas.calculator.html" |
---|
1378 | title="previous chapter">sas.calculator package</a></p> |
---|
1379 | <h4>Next topic</h4> |
---|
1380 | <p class="topless"><a href="sas.dataloader.html" |
---|
1381 | title="next chapter">sas.dataloader package</a></p> |
---|
1382 | <h3>This Page</h3> |
---|
1383 | <ul class="this-page-menu"> |
---|
1384 | <li><a href="../../_sources/dev/api/sas.data_util.txt" |
---|
1385 | rel="nofollow">Show Source</a></li> |
---|
1386 | </ul> |
---|
1387 | <div id="searchbox" style="display: none"> |
---|
1388 | <h3>Quick search</h3> |
---|
1389 | <form class="search" action="../../search.html" method="get"> |
---|
1390 | <input type="text" name="q" /> |
---|
1391 | <input type="submit" value="Go" /> |
---|
1392 | <input type="hidden" name="check_keywords" value="yes" /> |
---|
1393 | <input type="hidden" name="area" value="default" /> |
---|
1394 | </form> |
---|
1395 | <p class="searchtip" style="font-size: 90%"> |
---|
1396 | Enter search terms or a module, class or function name. |
---|
1397 | </p> |
---|
1398 | </div> |
---|
1399 | <script type="text/javascript">$('#searchbox').show(0);</script> |
---|
1400 | </div> |
---|
1401 | </div> |
---|
1402 | <div class="clearer"></div> |
---|
1403 | </div> |
---|
1404 | <div class="related"> |
---|
1405 | <h3>Navigation</h3> |
---|
1406 | <ul> |
---|
1407 | <li class="right" style="margin-right: 10px"> |
---|
1408 | <a href="../../genindex.html" title="General Index" |
---|
1409 | >index</a></li> |
---|
1410 | <li class="right" > |
---|
1411 | <a href="../../py-modindex.html" title="Python Module Index" |
---|
1412 | >modules</a> |</li> |
---|
1413 | <li class="right" > |
---|
1414 | <a href="sas.dataloader.html" title="sas.dataloader package" |
---|
1415 | >next</a> |</li> |
---|
1416 | <li class="right" > |
---|
1417 | <a href="sas.calculator.html" title="sas.calculator package" |
---|
1418 | >previous</a> |</li> |
---|
1419 | <li><a href="../../index.html">SasView 3.0.0 documentation</a> »</li> |
---|
1420 | <li><a href="../dev.html" >Developer Documentation</a> »</li> |
---|
1421 | <li><a href="modules.html" >lib.macosx-10.5-x86_64-2.7</a> »</li> |
---|
1422 | <li><a href="sas.html" >sas package</a> »</li> |
---|
1423 | </ul> |
---|
1424 | </div> |
---|
1425 | <div class="footer"> |
---|
1426 | © Copyright 2013, The SasView Project. |
---|
1427 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3. |
---|
1428 | </div> |
---|
1429 | </body> |
---|
1430 | </html> |
---|