리스트 문제 질문입니다. if list[j]==list[j+1]: IndexError: list index out of range
조회수 2479회
‘런’은 같은 값이 반복되는 하나의 시퀀스이다. 다음 리스트에서 가장 긴 런을 계산하는 프로그램을 작성하라. 예를 들어, 다음 원소가 있는 리스트에서 가장 긴 런의 길이는 4이다.
[1,2,5,5,3,1,2,4,3,2,2,2,2,3,6,5,5,6,3,1]
문제에서
if list[j]==list[j+1]: IndexError: list index out of range
오류가 나는데 어느 부분을 수정해야 되나요? 파이썬 초보라 잘 모릅니다.
run=[1,2,5,5,3,1,2,4,3,2,2,2,2,3,6,5,5,6,3,1]
list =[]
for i in run:
a=1
list.append(a)
for j in list:
if list[j]==list[j+1]:
len(list)
else:
list.clear()
print(a)
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
예를 들어서
list
길이가 8이라면 (즉, 숫자가 8개만 있다면)마지막 8번째 숫자에 대해서 검사를 할 때
if list[7] == list[7 + 1]
이 실행되는데요잘 생각해 보시면
list[8]
은 존재하지 않는 숫자입니다. (아홉번째 숫자란 뜻이거든요.)다들 한번쯤은 내보는 오류입니다.
list[j + 1]
이 존재하면서 그 값이 다른 뭔가와 같은지 그렇게 검사하시면 됩니다.
+ 기왕이면
numbers = []
같은 작명을 해봅시다.
댓글 입력