列表索引超出范围错误,Python

列表索引超出范围错误,Python,python,list,Python,List,我正在处理的一些代码出现了“列表索引超出范围”错误,我不知道为什么。我已经在这个网站上进行了广泛的研究,通过注意Python列表索引从0开始,似乎可以轻松解决与我类似的大部分问题 这是我正在编写的代码——首先,我认为代码现在不能按预期工作,但我只是检查一下,以确保它最初是否通过了循环。换句话说,以后会更漂亮:) ar=[5,3,4,143,43,35,2,15,23] def插入端口(ar): 主列表=[] 主列表追加(ar) 打印长度(主列表[0]) 而len(主列表[0])>1: 临时列表=

我正在处理的一些代码出现了“列表索引超出范围”错误,我不知道为什么。我已经在这个网站上进行了广泛的研究,通过注意Python列表索引从0开始,似乎可以轻松解决与我类似的大部分问题

这是我正在编写的代码——首先,我认为代码现在不能按预期工作,但我只是检查一下,以确保它最初是否通过了循环。换句话说,以后会更漂亮:)

ar=[5,3,4,143,43,35,2,15,23]
def插入端口(ar):
主列表=[]
主列表追加(ar)
打印长度(主列表[0])
而len(主列表[0])>1:
临时列表=主列表[0]
del MasterList[0]
p=临时列表[0]
LessThanP=[]
GreaterThanP=[]
finallist=[]
对于范围(1,len(临时列表))中的i:

如果临时列表[i],您得到的错误应该显示触发它的行。代码不会为我生成任何错误。似乎正在工作。您能提供准确的错误消息吗?当我运行脚本时,我似乎无法重现错误。代码为我产生的唯一错误是,您使用括号打印了一次,没有一次。您正在删除
主列表[0]
内部
while loop
。因此当
主列表变为空时,当
while loop
尝试下一个循环时,
主列表[0]
对于空的
主列表
。它应该给出
列表索引错误
ar = [5, 3, 4, 143, 43, 35, 2, 15, 23] 

def insertionSort(ar): 

    MasterList = []
    MasterList.append(ar)
    print len(MasterList[0])
    while len(MasterList[0]) > 1: 
        TemporaryList = MasterList[0]
        del MasterList[0] 
        p = TemporaryList[0]
        LessThanP = []
        GreaterThanP = []
        finallist = []
        for i in range(1, len(TemporaryList)):
            if TemporaryList[i] <= p: 
                LessThanP.append(TemporaryList[i])
            else: 
                GreaterThanP.append(TemporaryList[i])
        GreaterThanP.insert(0, [p])
        MasterList.insert(0, GreaterThanP)
        MasterList.insert(0, LessThanP)
        print (MasterList)

insertionSort(ar)