Как исправить индекс списка вне диапазона - PullRequest
0 голосов
/ 09 ноября 2019

Кажется, моя проблема заключается в строке b = l [j], приводящей к ошибке типа. Моя программа заключается в переключении последней половины и первой половины списка.

Я уже переключил переменные для устранения проблемы.

Результаты должны включать в себя переключение первой и второй половинысписки. Введите исправление ошибки в строке [enter code here][1] введите код здесь eeb = l [i]. введите описание изображения здесь

Ответы [ 2 ]

3 голосов
/ 09 ноября 2019

Вы четко не упомянули, что вы хотите сделать. Но если вы пытаетесь переключить первую и последнюю половину списка. Затем вы можете сделать что-то вроде этого -

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

здесь, l - это список, чьи половины вы хотите поменять местами.

Вы можете столкнуться с проблемой, когда список содержит нечетное количество элементов, так как эти две половины будут иметь неравное количество элементов.

1 голос
/ 09 ноября 2019

Не думаю, что в программе есть какая-либо ошибка. Логика, однако, ошибочна, в частности: 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) 

Редактировать: Ответ Харша Агарвала исключает необходимость в двух списках fh и sh. Я включил два списка для лучшего понимания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...