개요
- 2월 07일에 진행한 교육 내용중 리스트, 딕션어리, 집합, 튜플에 대한 내용
- 내용이 많아서 따로 정리함
리스트
- 여러개의 자료를 하나의 변수로 관리할 때 사용
- 삽입, 삭제, 정렬 등 다양한 일을 수행 할 수 있음
- 매번 변수의 이름을 작성하고 관리하는 것보다 편리하고 효율적
인덱스(index)
- 리스트의 항목 값을 가리키는 숫자
- n개의 항목을 가진 리스트의 인덱스는 0부터 n-1까지 증가
- 최대 인덱스는 len(n_list)-1
인덱싱(indexing)
list 구조
Ex1_list = [1,2,3,4,5]
Ex2_list = [1, 'a', 3.14]
Ex3_list = []
Ex3_list = list()
list 연산
- 리스트 사이에 더하기 연산자 사용 가능
- 그외 산술 연산자는 사용 불가
list1 = [11, 22, 33, 44]
list2 = [55, 66]
print(list1)
print(list1 + list2)
>>>
[11, 22, 33, 44]
[11, 22, 33, 44, 55, 66]
슬라이싱(Slicing)
- 리스트내의 항목을 특정한 구간별로 선택하여 잘라내는 기능
- 구간을 명시하기 위해 리스트_이름[start : end] 문법 사용
dictionary
- 키와 값을 쌍으로 갖는 자료형
- 키를 이용하여 값을 참조하는 특성
- [key]:[value] 형식과 같이 콜론으로 연결되어 정의
- 항목이 하나이상 모여서 딕션어리를 구성
person = {'이름' : '홍길동', '나이' : 26, '몸무게' : 82 }
>>> person['이름']
'홍길동'
dictionary 삽입과 수정
딕션어리이름[key] = value
딕션어리이름[key] = value
del 딕션어리이름[key]
dictionary에 사용되는 함수와 연산
- len()
딕션어리 내 항목의 수를 얻기 위해 사용
- in, not in
키와 값이 딕셔너리에 있는지 확인
- ==, !=
두 개의 딕셔너리가 동일한 항목을 갖고 있는지 확인
단 비교연산자는 지원하지 않음(>, >=, <, <=)
튜플
- 여러 개의 요소를 가지는 컬렉션 자료형(Collection data type)
- 리스트와는 달리 한 번 정해진 요소의 순서를 바꿀 수 없음
- 튜플 내부의 객체를 변경, 삭제가 불가능함 -> 교환불가능 속성(immutable)
tuple0 = ()
tuple1 = (1, 2, 3, 4)
list0 = 1,2,3,4
tuple2 = tuple(list0)
packing 과 unplacking
- packing
하나의 변수에 여러 개의 값을 넣는 것을 의미
- unpacking
패킹된 변수가 있으면, 여기에서 여러 개의 값을 꺼내오는 것
a = (1, 2)
>>> a[0]
1
b,c = a
>>> b
1
>>>c
2
집합(set())
- 순서가 없는 자료형
- 중복을 허용하지 않음
- 교집합, 합집합, 차집합 등의 집합 연산 수행 가능
- 튜플 -> 집합, 리스트 -> 집합 도 가능하고 그 반대도 가능
set0 = set()
set1 = {1,2,3,4}
집합 연산
- 교집합은 &, 합집합은 |, 차집합은 –, 대칭 차집합은 ^ 연산을 사용
- 집합 s1과 s2가 있다고 가정한다면, 이 집합의 연산을 적용하기 위해서는 벤다이어그램으로 집합의 원소와 포함관계를 표현해야함
- 메소드를 이용해서 구할 수도 있음
s1 = {1, 2, 3, 4, 5, 6}
s2 = {4, 5, 6, 7, 8, 9}
>>>s1 | s2
{1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> s1 & s2
{4, 5, 6}
>>> s1 - s2
{1, 2, 3}
>>> s1 ^ s2
{1, 2, 3, 7, 8, 9}