안녕세계
map은 입력받은 iterable object의 각 요소를 함수로 수행된 결과를 묶어서 반환합니다. map(함수, )- map은 lazy evaluation(게으른 연산)을 진행해서 메모리를 절약합니다. - map은 map iterator 객체를 반환합니다. ※ lazy evaluation(게으른 연산)이란? - 계산 결과 값이 필요할 때까지 계산을 늦추는 것을 말합니다. - iterator, generator 객체가 해당합니다. - next() 메소드로 데이터를 순차적으로 호출 가능한 객체입니다. - 마지막 데이터까지 불러오면 다음은 StopIteration exception이 발생합니다. - iterable 객체를 iterator로 변환하고 싶다면 iter()라는 built-in 함수를 사용합니다. ..
lambda는 함수를 생성할 때 사용하는 예약어로 def와 동일한 역할을 합니다. lambda parameter1[, parameter2] ..: lambda 예제ld = lambda x, y: x+y print(ld(1, 2)) lambda 예제와 동일 def 예제def sum(x, y): return x + y print(sum(1, 2)) # 3 def가 있는데 lambda가 존재하는 이유는? 1. lambda는 def 보다 간결하게 함수를 정의할 수 있습니다. 2. lambda는 def를 사용할 수 없는 곳에서 사용할 수 있습니다. 3. 익명함수이기 때문에 한번 쓰이고 다음줄로 넘어가면 heap 메모리 영역에서 사라집니다. - 가비지 컬렉터는 참조하는 객체가 없으면 지워버립니다. - 파이썬에서는 ..
filter는 입력 받은 iterable object의 각 요소를 함수로 수행후 True인 것만 묶어서 반환합니다. # 함수와 iterable 객체를 입력 받으며 반환 값은 boolean 값이어야 합니다. filter(함수, ) 양수 값만 반환하는 예제 numbers = [2, 1, -1, -2] 함수로 구현def positive(numbers): result = [] for number in numbers: if number > 0: result.append(number) return result ret = positive(numbers) print(ret) # [2, 1] filter로 구현 def positive(number): return number > 0 ret = list(filter(pos..
파이썬 exceptionPython에서 예외처리 방법에 대해 알아봅니다. try 블록을 실행중에 에러가 발생하면 except 블록이 실행됩니다.만약, try 블록에서 에러가 발생하지 않는다면 except 블록은 실행되지 않습니다.try: # .. except [발생에러 as [에러 메시지 변수]]: #.. try..except에러 종류에 상관 없이 에러가 발생하면 except 블록을 실행합니다. try: # .. except: #.. try..except 에러가 발생했을 때 except 문에 미리 정해 놓은 에러와 일치할 때만 except 블록을 실행합니다.try: # .. except : #.. Example try: 1 / 0 except ZeroDivisionError: print('ZeroDivi..
파이썬에서 dict란? {key: value} 형태로 사전(dictionary) 처럼 저장한 데이터 값을 말합니다. person = { 'name': kim, 'age': 27, 'live': seoul } print(person['name']) # kim key는 불변(immutable) 값이어야 합니다.data = {} data['a'] = 'A' data[1] = 'ONE' data[('a', 'b')] = 'A and B' hash 타입이 아닌 객체는 key가 될 수 없습니다.data = {} data[['a', 'b']] = 'list key' # TypeError: unhashable type: 'list' data[{'a', 'b'}] = 'set key' # TypeError: unhash..
*args매개변수 앞에 *을 붙이면 입력 값을 모아 tuple로 만듭니다.def func(*args): # args == (1,2,3) total = 0 for arg in args: total = total + arg return total print(func(1, 2, 3)) # 6 **kwargs함수의 인수로 key=value 형태가 주어지면 입력 값 전체가 kwargs라는 dict에 저장 됩니다.def func(**kwargs): print(kwargs) print(func(x=1)) # {'x': 1} *args와 **kwargs*args와 **kwargs가 동시에 사용될 경우, 일반적인 입력은 args의 tuple로 저장되고 key=value 형태는 kwargs의 dict로 저장됩니다.def ..
Python comprehensionPython Comprehension이란 다른 sequence(Iterable Object)
리스트에서 딕셔너리 중복 제거 파이썬 리스트에서 특정 속성 기준으로 중복되는 딕셔너리를 제거할 때 사용되는 Example 입니다. 다음과 같은 accounts 계정 목록이 있다고 가정해봅시다. accounts = [ {'id': 1, 'username': 'Kim'}, {'id': 2, 'username': 'Lee'}, {'id': 3, 'username': 'Park'}, {'id': 3, 'username': 'Choi'}, ] 위 예제 코드에서 accounts 리스트에 username이 Park 과 Choi 인 사용자의 id가 같습니다.이때, 우리는 id가 3인 계정은 하나만 출력하고 싶을 때 다음과 같이 코드를 작성합니다. accounts = [ {'id': 1, 'username': 'Kim'..