아래와 같은 코드를 주피터 노트북으로 실습할 때 문제가 생겼다.
a = [1,2,3,3,4,5,5,6,7]
print(a)
print(set(a))
*이 예제의 출처는 주피터 노트북 - 딕셔너리(dictionary), set
이를 실행하면 다음과 같은 결과를 보여줘야 한다.
[1, 2, 3, 3, 4, 5, 5, 6, 7]
{1, 2, 3, 4, 5, 6, 7}
그런데 다음과 같은 결과가 나왔다.
[1, 2, 3, 3, 4, 5, 5, 6, 7]이런 문제에 봉착하면 통상 구글링을 해 보는데, '한국어' 검색에서는 참고할 만한 결과가 나오지 않았다.
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Input In [25], in <cell line: 3>()
1 a = [1,2,3,3,4,5,5,6,7]
2 print(a)
----> 3 print(set(a))
TypeError: 'set' object is not callable
"TypeError: 'set' object is not callable"로 구글링 했을 때 검색된 첫 결과물에서 해결책을 찾을 수 있었다.
해결책은 너무 간단했다.
커널을 다시 시작하라.
이렇게 처리하니 제대로 값이 나왔다.
그런데 왜 이게 문제가 되었나 싶었는데, 세트 항목을 연습하면서 세트 하나의 이름을 set으로 설정해 놓고 set(a)라고 했으니 코드 내에 충돌이 있어서 Error가 생긴 것이었다.
아주 초보적 실수도, 코딩 초보자에게는 해결이 난감한 문제일 수 있다. 오늘도 하나 배웠네.
댓글
댓글 쓰기