브런치 한입

Python 에서 자주 발생하는 Error 본문

코딩/Python

Python 에서 자주 발생하는 Error

TAEHONG 2021. 12. 19. 21:22

Python Error

 

 

 

1. TypeError: can only concatenate list (not "int") to list

 

 

 >>> v1=[1,2,3]
 >>> v1+4
 Traceback (most recent call last):
   File "<pyshell#10>", line 1, in <module>
     v1+4
 TypeError: can only concatenate list (not "int") to list 

 

 에러 설명 : 리스트는 리스트끼리 더해야한다. 리스트가 원소별 연산이 안된다.


 에러 해결 방법 : 사용자 정의함수를 생성하여, map()를 이용하여 리스트가 연산을 할 수 있도록 해결


 >>> f1 = lambda x : x + 4
 >>> list(map(f1,l1))


 [5, 6, 7]

 

 

2. <map object at 0x0000000002F83DA0> 

 

 

>>> f1 = lambda x : x+10    
 >>> map(f1,l1)
      
 <map object at 0x0000000002F83DA0> 

 

 설명 :  에러는 아니다. map()함수는 출력 기능이 없고 메모리상에서만 연산한다.


 해결방법 : list( ) 를 씌움으로써 출력을 도와준다.


 >>> list(map(f1,l1)) 
      
 [5, 6, 7]

 

 

3. [None, None, None]

 

 

 >>> f2 = lambda x : print('%02d' % x)
 >>> list(map(f2,l1))
      
 01
 02
 03
 [None, None, None]

 

 설명 : list 로써 출력이 원활이 되지 않고 있다.


 해결방법 : 사용자 정의함수에서 print 를 제외하고 다시 출력하면 된다.
               사용자 정의함수에서는 print를 생략을 해줄 수 있다.

 

4. NameError: name 'trunc' is not defined

 

 

>>> trunc(l1)
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    trunc(l1)
NameError: name 'trunc' is not defined  

 

 에러 설명 : trunc는 기본 내장함수가 아니기에 정의할 수 없다. 


 에러 해결 방법 : trunc함수를 사용할 수 있도록 관련 모듈을 설치 또는 로딩을 해주면 된다.
                      (trunc함수의 상위 모듈은 'math')
 import math

 

'코딩 > Python' 카테고리의 다른 글

Python 간단한 찾아보기  (0) 2021.12.19
Comments