回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我使用的是这样的有序信息:</p>
<pre><code>my_data = [OrderedDict([(u'@pageid', u'1108'), (u'@ns', u'0'), (u'@title', u'H\xf6rspiele f\xfcr Studenten')]), OrderedDict([(u'@pageid', u'989'), (u'@ns', u'0'), (u'@title', u'Impact')]), OrderedDict([(u'@pageid', u'580'), (u'@ns', u'0'), (u'@title', u'Impfgegner')]), OrderedDict([(u'@pageid', u'990'), (u'@ns', u'0'), (u'@title', u'MESH')]), OrderedDict([(u'@pageid', u'502'), (u'@ns', u'0'), (u'@title', u'Publikationen')])]
</code></pre>
<p>如果我使用<code>for</code>循环遍历此对象,则一切正常:</p>
^{pr2}$
<p>但是,我的问题是:
如果OrderedDict只包含一个条目,例如:</p>
<pre><code>OrderedDict([(u'@pageid', u'328'), (u'@ns', u'0'), (u'@title', u'UWE')])
</code></pre>
<p>我的<code>for</code>循环将失败:</p>
<pre><code>for foo in mydata:
print(foo['@pageid'])
TypeError: string indices must be integers
</code></pre>
<p>…因为for循环不再给出<code>foo</code>和几个<code>['ATTRIBUTE']</code>,而是将所有<code>attribute</code>-名称写入var<code>foo</code>。在</p>
<p>我该怎么做才能使<code>for</code>循环以与多条目数据对象相同的方式作用于单条目数据对象?在</p>