[널널한 교수의 고급 파이썬] 04-4 append()와 +연산을 통한 리바인딩의 성능 비교
04-4 append()와 +연산을 통한 리바인딩의 성능 비교 리스트 요소의 추가 a = [1, 2, 3, 4] # 리스트 객체 생성 a.append(5) # 리스트 객체의 변경(mutating) 리스트의 덧셈 연산과 재할당 a = [1, 2, 3, 4] # 리스트 객체 생성 a = a + [5] # 리스트 객체의 재바인딩(rebinding) # 리스트 자료형은 가변(mutable) # -> 객체의 니용이 바뀌어도 id는 안 바뀜 a = [1, 2, 3, 4] id(a) a.append(5) id(a) # a 객체는 다시 바인딩 된다 a = [1, 2, 3, 4] id(a) id(a[0]) a = a + [5] id(a) id(a[0]) 이것을 알아야 하는 이유 리스트 객체는 변경가능 객체 int형, t..
더보기
[널널한 교수의 고급 파이썬] 03-3 반복 가능 객체를 위한 내장함수
03-3 반복 가능 객체를 위한 내장함수 반복 가능 객체는 다양한 파이썬 내장함수를 사용할 수 있다 min()이나 max()와 같은 함수는 반복 가능 객체를 인자로 받아 최댓값과 최솟값을 반환한다 이 외에도 all(), any(), ascii(), bool(), filter(), iter()와 같은 고급 내장함수도 제공되고 있다 all() 함수 반복 가능한 항목들이 모두 참일 때만, 참을 반환한다 l1 = [1, 2, 3, 4] l2 = [0, 2, 4, 8] l3 = [0, 0, 0, 0] all(l1) # True all(l2) # False all(l3) # False any() 함수 임의의 반복 가능한 항목들 중에서 참이 하나라도 있을 경우 참을 반환한다 l1 = [1, 2, 3, 4] l2 = ..
더보기
[널널한 교수의 고급 파이썬] 02-3 집합과 튜플 축약
02-3 집합과 튜플 축약 곱집합 각 집합에서 임의의 원소를 가져와 만들 수 있는 조합을 하나의 튜플로 표현 def product_set(set1, set2): res = set() for i in set1: for j in set2: res = res | {(i, j)} # res.add((i,j)) return res A = {1, 3} B = {2, 4} AxB = product_st(A, B) print(A) print(B) print(AxB) 축약표현으로 구한 곱집합 def product_set(set1, set2): return {(i, j) for i in set1 for j in set2} A = {1, 3} B = {2, 4} AxB = product_st(A, B) print(A) pr..
더보기
[널널한 교수의 고급 파이썬] 02-1, 02-2 리스트 축약 표현
02-1, 02-2 리스트 축약 표현 리스트 축약 반복 가능 객체를 이용하여 쉽게 리스트를 생성할 수 있는 기능 map, filter 기능 구현 가능 람다식의 본체가 될 식을 그대로 사용하기 때문에 따로 람다함수를 정의할 필요가 없다 리스트 뿐만 아니라 집합과 같은 반복가능한 모든 객체에 대해 적용할 수 있다 리스트 축약의 문법 [{표현식} for {변수} in {반복자/연속열} if {조건표현식}] 예제 [x for x in range(10)] [x ** 2 for x in range(10)] a = [1, 2, 3, 4, 5, 6, 7] # 맵과 람다 함수를 이용한 리스트의 제곱 구하기 a = list(map(lambda x : x**2, a)) print(a) # 리스트 축약 표현식을 이용한 리스트..
더보기