얕은 복사와 깊은 복사
a에는 [1, 2, 3]의 주소가 저장돼 있음b에도 a와 동일한 주소가 복사됨a와 b는 동일한 리스트 객체를 공유>>> a = [1, 2, 3]>>> b = a>>> a[0] = 38>>> a[38, 2, 3]>>> b[38, 2, 3] 객체의 고유한 값인 아이디를 변환하는 함수 id()를 통해 확실히 확인 가능>>> id(a), id(b)(4302353400, 4302353400) 리스트의 경우 a와 b가 같은 객체를 공유하지 않게 하기 위해 강제로 복사한다>>> a = [1, 2, 3]>>> b = a[:]>>> id(a), id(b)(4302353472, 4302335368)>>> a[0] = 38>>> a[38, 2, 3]>>> b[1, 2, 3] 리스트 이외의 일반적인 경우 copy모듈 사용co..
더보기
튜플
리스트와 유사()로 묶어서 표현읽기 전용임함수는 리스트보다 적지만 속도가 빠름>>> t = (1, 2, 3)>>> type(t) 제공하는 함수 count(), index() 뿐여러값을 할당하는 경우 튜플이 생략되어 있음>>> a, b = 1, 2>>> print (a, b)1 2>>> (a, b) = (1, 2)>>> print (a, b)1 2 C와 같은 언어에서 변수가 하나 필요한 swap 예제를 간단히 해결>>> a, b = 1, 2>>> print(a, b)1 2>>> a, b = b, a>>> print(a, b)2 1 생성자 list(), set(), tuple()을 이용해서 언제든지 변환이 가능>>> a = set((1, 2, 3))>>> a{1, 2, 3}>>> type(a)>>> b = ..
더보기
세트
세트는 수학시간에 배운 집합과 동일순서 없음{}로 묶음>>> a = {1,2,3}>>> b = {3,4,5}>>> a{1, 2, 3}>>> b{3, 4, 5}>>> type(a) 메서드는 리스트와 거의 유사교집합과 합집합을 구할 수 있음>>> a.union(b){1, 2, 3, 4, 5}>>> a.intersection(b){3} -(차집합), |(합집합), &(교집합) 연산자 제공>>> a - b{1, 2}>>> a | b{1, 2, 3, 4, 5}>>> a & b{3}
더보기
리스트
값의 나열순서가 존재여러 종류의 값을 담음0부터 시작하는 인덱스가 있음슬라이싱 가능>>> colors = ['red', 'green', 'gold']>>> colors['red', 'green', 'gold']>>> type(colors) 기존의 리스트에 값을 추가하는 메서드append() 메서드삽입된 값은 리스트의 뒤에 추가>>> colors.append('blue')>>> colors['red', 'green', 'gold', 'blue'] insert()메서드는 원하는 위치에 값을 집어 넣음>>> colors.insert(1, 'black')>>> colors['red', 'black', 'green', 'gold', 'blue'] 한 번에 여러 값을 넣을 수 있음extend() 메서드>>> col..
더보기