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

问题描述 投票:0回答:1

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

对象名称是: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

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

我究竟做错了什么 ?

python list replace
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.