如何替换列表是对象属性的列表项?

时间:2018-03-03 04:07:37

标签: python list replace

我想循环使用给定参数的对象属性并替换一些元素。

对象名称为: DATA

DATA 具有以下属性: name [string],version [string]和apps [app对象列表]

应用列表包含应用对象

应用列表中的应用对象具有以下属性: app.name [string]; app.ctrl [表]

在ctrl列表中,每个项目都有5个值: [ value0,[value1a,value1b],value2,value3,value4 ]

我想遍历对象元素并找到正确的DATA.apps.ctrl列表元素目标并替换值[1] [0]和值[1] [1]:

    for app in self.DATA.apps:

        if self.SelectedAppID.get() == app.name:

           for control in app.ctrl:

                if control[0] == self.SelectedCtrl.get():

                   control[1][0] = valuenew
                   control[1][1] = valuenew

我找到了我想要改变的应用程序和元素。我想我正在替换它但它不起作用。名单保持不变..

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您没有更新数据对象,您正在更新在循环中创建的变量,这些变量存储为值,而不是作为对主对象的引用。