我的问题似乎在b = l [j]行中,导致类型错误。 我的程序是切换列表的后半部分和前半部分。
我已经切换了变量来解决问题。
结果应包括切换列表的前一半和后一半。在[enter code here][1]
行中输入错误修复,在此处输入代码b = l [i]。
enter image description here
答案 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这两个列表的需要。为了更好的理解,我列出了两个列表。