알고리즘 분석 과제를 하던 중 생긴 오류 . .
전혀 예상 못한 오류였다. 구글링해서 금방 찾을 수 있었습니당
list1 = [1, 2]
list1 = list.sort(list1)
temp = list1[0]
와 같은 코드는 위 오류가 발생한다.
왜냐하면 list.sort()는 list를 변환 시킨 후 아무것도 변환하지 않기 때문이다.
따라서 위 코드는 list1의 배열을 지운 것과 같음
아래와 같이 바꿔줘야한다!
list1 = [1, 2]
list1.sort()
temp = list1[0]
print(temp)
나의 경우, self.arr 값에 list.arr()를 받아버려서 값을 지웠더니 오류가 발생했던 것
def __init__(self, n):
self.arr = [random.randint(1, n) for x in range(n)].sort()
.
.
.
def binSearch(self):
.
.
point = int((right+left)/2)
num = self.arr[point] # 여기에서 오류 발생
.
.
따라서 이렇게 수정해주면 완료 ~!~
def __init__(self, n):
self.arr = [random.randint(1, n) for x in range(n)]
.
.
.
def binSearch(self):
self.arr.sort()
.
.
point = int((right+left)/2)
num = self.arr[point]
.
.
'알고리즘' 카테고리의 다른 글
[Python] Closure & Decorator (0) | 2021.11.21 |
---|