gpt4 book ai didi

Python追加: It only return the last value repeatedly

转载 作者:行者123 更新时间:2023-11-30 23:06:17 25 4
gpt4 key购买 nike

这是我的代码的一部分。

dbList = []
for obj in xmlData.iter("object")
task = TaskViewModel()
task.id = obj.("pk")
task.name = obj.find("field[@name='name']").text
task.parent_task_id = obj.find("field[@name='parent_task_id']").text
dbList.append(task)

我的问题是它只给我重复的结果。

我的预期结果是:

dbList = ["dale","Michelle","Fred","Debbie"]

但它给了我这个结果:

dbList = ["Debbie","Debbie","Debbie","Debbie"]

我想我应该清除一些东西。

您好,这是示例文件:

<?xml version="1.0" encoding="utf-8"?>
<django-objects version="1.0">
<object model="task.task" pk="31">
<field name="name" type="CharField">Dale</field>
<field name="parent_task_id" type="IntegerField">0</field>
</object>
<object model="task.task" pk="32">
<field name="name" type="CharField">Michelle</field>
<field name="parent_task_id" type="IntegerField">0</field>
</object>
<object model="task.task" pk="33">
<field name="name" type="CharField">Fred</field>
<field name="parent_task_id" type="IntegerField">31</field>
</object>
<object model="task.task" pk="34">
<field name="name" type="CharField">Debbie</field>
<field name="parent_task_id" type="IntegerField">31</field>
</object>
</django-objects>"

我有这门课

class TaskViewModel():

def __init__(self):
self.id = 0
self.name = ""
self.parent_task_id = ""

这就是我这样做的原因:

for obj in xmlData.iter("object")
task = TaskViewModel()
task.id = obj.("pk")
task.name = obj.find("field[@name='name']").text
task.parent_task_id = obj.find("field[@name='parent_task_id']").text
dbList.append(task)

最佳答案

你的类是错误的,你正在分配和操作类变量(在其他语言中也称为静态变量)而不是实例变量。使用类似这样的东西:

class TaskViewModel():
def __init__(self):
self.id = 0
self.name = ""
self.parent_task_id = ""

关于Python追加: It only return the last value repeatedly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32733794/

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