gpt4 book ai didi

python - 如何在 Python for 循环中用一个条目处理 OrderedDict?

转载 作者:太空宇宙 更新时间:2023-11-04 03:10:26 25 4
gpt4 key购买 nike

我正在使用这样的 OrderedDict:

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')])]

如果我使用 for 循环遍历这个对象,一切都会按预期进行:

for foo in mydata:
print(foo['@pageid'])
print(foo['@ptitle'])

但是,我的问题是:如果 OrderedDict 只包含一个条目,例如:

OrderedDict([(u'@pageid', u'328'), (u'@ns', u'0'), (u'@title', u'UWE')])

我的 for 循环将失败:

for foo in mydata:
print(foo['@pageid'])

TypeError: string indices must be integers

...因为 for 循环不再给出带有多个 ['ATTRIBUTE']foo,而是将所有 attribute 都写给我-var foo 中的名称。

我该怎么做才能使 for 循环以与处理多条目数据对象相同的方式处理单条目数据对象?

最佳答案

在第一个示例中,您使用的是 OrderedDicts 列表,而在第二个示例中,您使用的是单个 OrderedDict 对象。

因此,在第一种情况下,mydata 中的每个 foo 对象都是 OrderedDict 对象,您可以使用 访问您的数据>foo['key'],但在第二个示例中,foo 是字典中的一个键,它是一个字符串。

您应该检查在第二种情况下您是否真的在处理列表而不是单个对象。

关于python - 如何在 Python for 循环中用一个条目处理 OrderedDict?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38210025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com