#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http

제목SWCON104-00 1번문제 루프2019-10-17 21:58
작성자

List1=[10,11,23,45,1,3,4,5,6,9,1]
List2=[1,11,23,66,78,3,4]
def mergeAndSortLists(List1,List2):
    newList=List1+List2
    resultList=[]
    tempList=[]
    for i in range(0,len(newList)):  #여기서 리스트의 인덱스가 범위를 벗어나 오류가 일어납니다.
        if newList.count(newList[i])>1:

            newList.remove(newList[i])
newList.sort()
    return newList
c=mergeAndSortLists(List1,List2)
print(c)

그런데 저 오류가 일어나는 부분만
for i in newList :
if newList.count(i) > 1:
newList.remove(i) #이렇게 바꿔주면 아무 오류없이 잘 실행이 됩니다.

실행의 과정이 같다고 생각했지만 반복문에서 인덱스 값을 읽어서 수행하는 경우와
 직접 값을 가져와서 실행하는 경우가 달라지는 이유가 궁금합니다.
댓글