Open kim-irubi opened 2 years ago
중간에 지워지면 전체 인덱스 값이 변합니다. 한번 실험적으로 result
변수의 값을 출력시켜 보세요.
방법중에 하나는 result
리스트를 복사한다음에 해당 값을 지울순 있겠네요.
def number_of_cases(list_data):
result = None
result = []
cases = ""
if len(list_data) > 2:
for i in range(len(list_data)):
for k in range(len(list_data)):
cases = str(list_data[i]) + str(list_data[k])
result.append(cases)
else:
for i in range(len(list_data)):
cases = "".join(list_data[i]) + cases
result.append(cases)
result_list = result
n = len(result)
for i in range(n):
if result.count(result_list[i]) > 1:
result.remove(result[i])
n -= 1
else:
pass
이런 식으로 해봤는데도 계속 같은 오류가 뜨는데 어디가 문제인지 모르겠습니다..
이번엔 if result.count(result_list[i]) > 1: 에서 해당 오류가 뜹니다.
result.remove(result[i])
이코드 때문인데요 remove를 쓰면 코드의 범위가 바뀝니다. 계속
해당 반복문에서 list index out if range 오류가 뜨는데 범위가 1부터 len(result)까지면 오류 뜰 부분이 없는 것 같은데 어디서 오류가 뜬 건지 모르겠습니다.