python error: IndexError: list index out of range
python error: IndexError: list index out of range
我的代码需要一些基本帮助,每次我使用变量 program_controls
添加要存储在数组中的按钮列表。
当我尝试这个时:
self.add_programs = list()
self.rows += 1
program_controls = xbmcgui.ControlButton(
int(position_start),
int(position_top),
int(program_width),
int(program_height),
program_title,
focusTexture = self.path + self.button_focus,
noFocusTexture = self.path + self.button_nofocus,
textColor ='0xFFFFFFFF',
focusedColor ='0xFF000000'
)
self.add_programs[self.rows].append(ProgramControls(program_controls, program))
它给我错误:IndexError:列表索引超出范围
错误跳转到这一行:
self.add_programs[self.rows].append(ProgramControls(program_controls, program))
代码如下:
class ProgramControls(object):
def __init__(self, control, program):
self.control = control
self.program = program
class MyClass(xbmcgui.WindowXML):
def __init__(self):
self.add_programs = list()
self.rows = 0
def GoDown(self):
self.add_programs = list()
self.rows += 1
program_controls = xbmcgui.ControlButton(
int(position_start),
int(position_top),
int(program_width),
int(program_height),
program_title,
focusTexture = self.path + self.button_focus,
noFocusTexture = self.path + self.button_nofocus,
textColor ='0xFFFFFFFF',
focusedColor ='0xFF000000'
)
self.add_programs[self.rows].append(ProgramControls(program_controls, program))
prog_button = [elem.control for elem in self.add_programs]
if self.programs == False:
self.addControls(prog_button)
你能帮我每次添加按钮列表时如何将按钮存储在数组中吗?
如果可以,请告诉我。
如果您这样做 mylist[3].append()
,您正试图附加到一个列表,该列表是您 mylist
中的第 4 项。您也可以将其写为 (mylist[3]).append()
以使其更清楚。
如果你想附加到 mylist
,你只需要使用 mylist.append()
。如果要设置在某个索引上,可以使用list.insert(index, item)
;然而,如果列表没有 index
长,它会被添加到最后。
如果您想使用特定的键,请改用 dict()
:
mydict = {}
dict[3] = my_item
不过,在你的情况下,我会使用 self.add_programs.append()
。
我的代码需要一些基本帮助,每次我使用变量 program_controls
添加要存储在数组中的按钮列表。
当我尝试这个时:
self.add_programs = list()
self.rows += 1
program_controls = xbmcgui.ControlButton(
int(position_start),
int(position_top),
int(program_width),
int(program_height),
program_title,
focusTexture = self.path + self.button_focus,
noFocusTexture = self.path + self.button_nofocus,
textColor ='0xFFFFFFFF',
focusedColor ='0xFF000000'
)
self.add_programs[self.rows].append(ProgramControls(program_controls, program))
它给我错误:IndexError:列表索引超出范围
错误跳转到这一行:
self.add_programs[self.rows].append(ProgramControls(program_controls, program))
代码如下:
class ProgramControls(object):
def __init__(self, control, program):
self.control = control
self.program = program
class MyClass(xbmcgui.WindowXML):
def __init__(self):
self.add_programs = list()
self.rows = 0
def GoDown(self):
self.add_programs = list()
self.rows += 1
program_controls = xbmcgui.ControlButton(
int(position_start),
int(position_top),
int(program_width),
int(program_height),
program_title,
focusTexture = self.path + self.button_focus,
noFocusTexture = self.path + self.button_nofocus,
textColor ='0xFFFFFFFF',
focusedColor ='0xFF000000'
)
self.add_programs[self.rows].append(ProgramControls(program_controls, program))
prog_button = [elem.control for elem in self.add_programs]
if self.programs == False:
self.addControls(prog_button)
你能帮我每次添加按钮列表时如何将按钮存储在数组中吗?
如果可以,请告诉我。
如果您这样做 mylist[3].append()
,您正试图附加到一个列表,该列表是您 mylist
中的第 4 项。您也可以将其写为 (mylist[3]).append()
以使其更清楚。
如果你想附加到 mylist
,你只需要使用 mylist.append()
。如果要设置在某个索引上,可以使用list.insert(index, item)
;然而,如果列表没有 index
长,它会被添加到最后。
如果您想使用特定的键,请改用 dict()
:
mydict = {}
dict[3] = my_item
不过,在你的情况下,我会使用 self.add_programs.append()
。