如何修复列表索引超出范围

时间:2019-11-09 05:18:52

标签: python list indexing

我的问题似乎在b = l [j]行中,导致类型错误。 我的程序是切换列表的后半部分和前半部分。

我已经切换了变量来解决问题。

结果应包括切换列表的前一半和后一半。在[enter code here][1]行中输入错误修复,在此处输入代码b = l [i]。 enter image description here

2 个答案:

答案 0 :(得分:3)

您没有明确提到您想做什么。 但是,如果您要切换列表的前半部分和后半部分,那么您可以执行以下操作-

switched_list = l[int(len(l)/2):] + l[0:int(len(l)/2)]

在这里,l是要交换一半的列表。

当list包含奇数个元素时,您可能会遇到问题,因为这两半将具有不相等的元素数。

答案 1 :(得分:1)

我认为程序中没有任何错误。但是,该逻辑存在缺陷,尤其是:del l[i] 这是固定代码:

n= int(input("Enter limit:\n"))
l= []

for i in range(1,n+1):
    a = int(input("enter element: \n"))
    l.append(a)

print("the original list is: ", l)

list_half = int(len(l)/2)

fh = l[:list_half] #first half of the list
sh = l[list_half:]  #second half of the  list

new_list = sh + fh

print("new list is: ", new_list) 

编辑:Harsh Agarwal的回答消除了对fh和sh这两个列表的需要。为了更好的理解,我列出了两个列表。