본문 바로가기
728x90

프로그래밍언어388

[파이썬][Error] 114. TypeError - unhashable type: 'list' TypeError: unhashable type: 'list' 오류는 리스트 객체를 set이나 dict의 키로 사용하려고 할 때 발생합니다. 리스트는 가변(mutable) 객체이기 때문에 해시 불가능(unhashable)하며, 해시 기반 자료구조에서 키로 사용할 수 없습니다.딕셔너리의 키나 집합(set)의 원소로 사용되는 객체는 반드시 불변(immutable)이어야 하며, 리스트는 내부 요소가 바뀔 수 있어 해시 값을 보장할 수 없습니다.● 오류 발생 예시my_dict = {}key = [1, 2, 3]my_dict[key] = "value"위 코드에서 리스트 key는 가변 객체이므로 딕셔너리의 키로 사용할 수 없어 오류가 발생합니다.● 주요 원인리스트를 딕셔너리의 키로 사용리스트를 set의 원소로 추가.. 2025. 6. 1.
[파이썬][Error] 113. NameError - name 'xrange' is not defined NameError: name 'xrange' is not defined 오류는 파이썬 3에서 xrange() 함수를 사용하려고 할 때 발생합니다. xrange()는 파이썬 2에서 사용되던 함수로, 파이썬 3에서는 range()로 통합되었습니다.파이썬 2에서는 xrange()가 메모리를 절약하기 위해 반복 가능한 객체를 반환했지만, 파이썬 3에서는 range()가 동일한 기능을 수행하도록 변경되었습니다.● 오류 발생 예시for i in xrange(5): print(i)위 코드는 파이썬 3 환경에서 실행 시 xrange가 정의되어 있지 않아 NameError를 발생시킵니다.● 주요 원인파이썬 2 코드를 파이썬 3에서 실행xrange를 그대로 사용하는 경우파이썬 3 환경에서 호환성 확인 없이 이식한 코.. 2025. 6. 1.
[파이썬][Error] 112. ValueError - invalid literal for int() with base 10: 'abc' ValueError: invalid literal for int() with base 10: 'abc' 오류는 문자열을 정수로 변환하려 할 때, 숫자로 해석할 수 없는 문자열이 포함되어 있을 경우 발생합니다.이 오류는 int() 함수 사용 시 문자열이 10진수 형식이어야 한다는 조건을 충족하지 않을 때 발생합니다. 예를 들어 'abc', '3.14', '', '$100' 등은 정수 변환이 불가능합니다.● 오류 발생 예시value = 'abc'num = int(value) # 오류 발생위 코드에서 'abc'는 숫자로 변환할 수 없기 때문에 ValueError가 발생합니다.● 주요 원인숫자가 아닌 문자열을 int()로 변환 시도공백, 특수문자, 소수점 등이 포함된 문자열빈 문자열을 int()로 변환 시도●.. 2025. 6. 1.
[파이썬][Error] 111. AttributeError - 'NoneType' object has no attribute 'group' AttributeError: 'NoneType' object has no attribute 'group' 오류는 주로 정규표현식 사용 시 re.match() 또는 re.search() 함수가 아무 결과도 찾지 못해 None을 반환했는데, 바로 .group() 메서드를 호출할 때 발생합니다.이 오류는 검색 결과가 없을 수 있음을 고려하지 않고 group()을 호출하는 경우 발생하므로, 결과가 None이 아닌지 확인하는 조건문이 필요합니다.● 오류 발생 예시import retext = "Python 3.10"match = re.match(r"Java (\d+)", text)print(match.group(1))위 코드는 re.match가 아무 결과도 찾지 못하므로 match는 None이 되고, match.g.. 2025. 6. 1.
[파이썬][Error] 110. ValueError - math domain error ValueError: math domain error는 수학 함수에 정의되지 않은 입력값을 제공했을 때 발생하는 오류입니다. 예를 들어 math.sqrt(), math.log(), math.acos() 등의 함수는 특정 입력 범위에만 유효하므로 잘못된 값을 넣으면 이 오류가 발생합니다.이 오류는 특히 음수 루트 계산, 0 이하의 로그 계산 등에서 자주 발생하며, 수학적으로 정의되지 않은 연산을 시도했음을 의미합니다.● 오류 발생 예시import mathx = -1print(math.sqrt(x)) # 오류 발생math.sqrt() 함수는 0 이상의 실수만 허용하므로 위 예제에서는 ValueError가 발생합니다.● 주요 원인math.sqrt()에 음수 입력math.log()에 0 이하 입력math.ac.. 2025. 6. 1.
[파이썬][Error] 109. FileNotFoundError - [Errno 2] No such file or directory: 'file.txt' FileNotFoundError: [Errno 2] No such file or directory: 'file.txt' 오류는 지정한 경로에 해당 파일이 존재하지 않을 때 발생합니다. 파일을 열거나 읽기 전에 파일 경로가 정확한지 반드시 확인해야 합니다.이 오류는 open(), pd.read_csv(), with open() 등의 함수 사용 시 잘못된 경로를 지정하거나, 파일이 존재하지 않는 상태에서 접근하려고 할 때 자주 발생합니다.● 오류 발생 예시with open('file.txt', 'r') as f: content = f.read()위 코드는 현재 작업 디렉토리에 file.txt가 존재하지 않을 경우 FileNotFoundError를 발생시킵니다.● 주요 원인파일 이름 또는 경로 오타상대경.. 2025. 6. 1.
728x90