我创建了一个引用列表的函数,其中包含更多列表。对于列表中的每个列表,该函数完成特定于相应列表的操作(其工作)。每次运行时,一个变量(表示要搜索的列表)增加1.然而,一旦没有剩余的列表,我无法让我的while循环退出,我收到: " IndexError:列出索引超出范围"
我的代码:
def my_function(selected_list):
i = 1
while (selected_list[i] != None):
if ...
if ...
i+=1
它必须使用的列表长度都是可变长度。我已经使用len(selected_list)来计算并通过if语句给它一个最大值,但是我希望while语句在没有更多列表可读时结束。 先感谢您。
答案 0 :(得分:0)
使用嵌套for循环更好:
def my_function(selected_list):
for sub_list in selected_list:
for item in sub_list:
# Do ...
答案 1 :(得分:0)
selected_list
:最简单的方法是使用for-loop
遍历每个子列表,而不是尝试通过增加索引来完成它们,直到索引超出范围为止。
def my_function(selected_list):
for lst in selected_list:
if ...
if ...
如果你想知道子列表的当前索引,我可以看到你正在做什么的唯一场景可能是一个优势。这可以通过enumerate
:
def my_function(selected_list):
for index, lst in enumerate(selected_list):
if ... #these calculations can now use the variable index
if ...
希望这有帮助!