[윤성우의 열혈 파이썬 중급편] 08. 두 함수를 대신하는 리스트 컴프리헨션
출처 : 윤성우의 열혈 파이썬 : 중급 08. 두 함수를 대신하는 리스트 컴프리헨션 map과 filter를 대신하는 리스트 컴프리헨션 st1 = [1, 2, 3] st2 = list(map(lambda n: n**2, st1)) st2 = [n**2 for n in st1] st = [1, 2, 3, 4, 5] ost = list(filter(lambda n: n % 2, st)) ost = [n for n in st if n % 2] st = list(range(1, 11)) fst = list(map(lambda n: n**2, filter(lambda n: n % 2, st))) fst = [n**2 for n in st if n % 2] map에 filter까지 더해지는 상황에서는 확실히 리스트 ..
더보기
[윤성우의 열혈 파이썬 중급편] 07. map & filter
출처 : 윤성우의 열혈 파이썬 : 중급 07. map & filter map def pow(n) return n ** 2 st1 = [1, 2, 3] st2 = [pow(st1[0]), pow(st1[1]), pow(st1h[2])] print(st2) # [1, 4, 9] st1 = [1, 2, 3] st2 = list(map(pow, st1)) print(st2) # [1, 4, 9] map 함수는 st1에 저장된 값들을 하나씩 전달하면서 pow 함수를 호출해준다 이 때 map의 두 번째 전달 대상은 iterable 객체여야 한다 map은 iterator 객체 하나를 반환한다 def pow(n) return n ** 2 st = [1, 2, 3] ir = map(pow, st) for i in ir:..
더보기
[윤성우의 열혈 파이썬 중급편] 03. 깊은 복사와 얕은 복사
출처 : 윤성우의 열혈 파이썬 : 중급 03. 깊은 복사와 얕은 복사 v1 == v2 : 두 변수가 참조하는 객체의 내용이 같은가? v1 is v2 : 두 변수가 참조하는 객체는 동일 객체인가? r1 = [1, 2, 3] r2 = [1, 2, 3] r1 is r2 # False r1 == r2 # True r1 = [1, 2, 3] r2 = r1 r1 is r2 # True r1 = ['John', ('man', 'USA'), [175, 23]] r2 = list(r1) r1 is r2 # False r1[0] is r2[0] # T r1[1] is r2[1] # T r1[2] is r2[2] # T 리스트는 각 값들을 (객체) 리스트 내에서 참조하는 형태이다 ..
더보기
[윤성우의 열혈 파이썬 중급편] 02. 수정 가능한 객체와 수정 불가능한 객체
출처 : 윤성우의 열혈 파이썬 : 중급 02. 수정 가능한 객체와 수정 불가능한 객체 수정 불가능한 객체(immutable object) : 객체가 지닌 값의 수정이 불가능한 객체 tuple, string ... 수정 가능한 객체(mutable object) : 객체가 지닌 값의 수정이 가능한 객체 list, dictionary ... r = [1,2] id(r) r += [3,4] id(r) # 리스트의 주소가 바뀌지 않음 t = (1,2) id(t) t += (3,4) id(t) # t에 저장된 튜플이 바뀌었음을 확인 성격에 따라 달라지는 함수의 정의 def add_last(m, n): m += n r = [1, 2] add_last(r, [3, 4]) print(r) # [1.2.3.4] t = (..
더보기