擅长:python、mysql、java
<p>我不确定它是否解决了混合输出的问题,但在声明中</p>
<pre><code>collections.OrderedDict({'a':1,'b':2,'c':3})
</code></pre>
<p>有两种情况发生:</p>
<ol>
<li>创建<code>dict</code>文字<code>{'a':1,'b':2,'c':3}</code>。你知道吗</li>
<li>将其传递给<code>collections.OrderedDict</code>,结果是以继承自原始<code>dict</code>文本的顺序生成副本。你知道吗</li>
</ol>
<p>如果要保持插入顺序,请传递键-值对的iterable(如<code>list</code>)。你知道吗</p>
<p>所以我们可以这样写</p>
<pre><code>collections.OrderedDict([('a', 1), ('b', 2), ('c', 3)])
</code></pre>
<h2>试验</h2>
<pre><code>>>> data = collections.OrderedDict([('a', 1), ('b', 2), ('c', 3)])
>>> list(data.keys()) == ['a', 'b', 'c']
True
</code></pre>