gpt4 book ai didi

python - 使用复杂列表定义类时出现类型错误

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

我试图定义一个类,该类将从包含多个字典的列表中创建标签列表(见下文),但是当我尝试它时,我得到以下回溯。我不确定我做错了什么。任何建议将不胜感激!

  File "file.py", line 415, in <module>
p = Photo(data)
File "file.py", line 395, in __init__
for d in p_d["photo"]["tags"]["tag"]["_content"]:
TypeError: list indices must be integers or slices, not str

当前代码:

class Photo :

def __init__(self,p_d) :
self.tags = []
for d in p_d["photo"]["tags"]["tag"]["_content"]:
self.tags.append(d)
return

p = Photo(data)
print(p)

“data”的内容看起来像this post中的“Photo Diction” 。以下是带有标签的部分的示例:

     u'media':u'photo',
u'tags':{
u'tag':[
{
u'machine_tag':False,
u'_content':u'aerialview',
u'author':u'59600577@N07',
u'raw':u'Aerial View',
u'authorname':u'Patrick Foto ;)',
u'id':u'59579247-33334692904-8319'
},
{
u'machine_tag':False,
u'_content':u'buildingexterior',
u'author':u'59600577@N07',
u'raw':u'Building Exterior',
u'authorname':u'Patrick Foto ;)',
u'id':u'59579247-33334692904-1727027'
},
{
u'machine_tag':False,
u'_content':u'businessfinanceandindustry',
u'author':u'59600577@N07',
u'raw':u'Business Finance and Industry',
u'authorname':u'Patrick Foto ;)',
u'id':u'59579247-33334692904-263370815'
},

最佳答案

显然,p_d["photo"]["tags"]["tag"]是一个列表,你不能拿走该项目['_content'] 在列表中。

你可以做到

for adict in p_d["photo"]["tags"]["tag"]:
self.tags.append(adict["_content"])

关于python - 使用复杂列表定义类时出现类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45732099/

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