Immutable Vs. Mutable
range
, tuple
: immutable
list
, set
, dict
: mutable
- 객체가 만들어진 이후에도 값 추가, 삭제, 수정 가능
객체
- 데이터와 그 데이터에 관련된 동작(절차, 방법, 기능)을 모두 포함한 개념
- python에서 모든 것이 객체
List
- 다수의 데이터, 타입이 다른 데이터를 하나의 변수에 저장하고자 할 때 매우 유용
Indexing and Slicing
- 변수 [시작 : 끝 : 증감] -> 범위 끝 미포함
아이템 추가
- list.append(item)
- list.extend(list2)
- list.insert(index, item)
아이템 제거
- del list[index]
- list.remove(item) : list에서 첫 번째로 나오는 item 삭제
아이템 정렬
- list.sort()
- sorted(list)
- list.reverse
list 연산자
- list + list
- list * 숫자 (0이나 음수일 경우 빈 리스트 반환)
- 우선 순위 : * > +
문자열을 list로 생성
- list() : 인자로 문자열이 아닌 다른 자료형이 들어갈 수 있음
- split() : 인자를 기준으로 나눠 list 형성
range() 함수로 list 생성
- arr = list(range(숫자))
tuple
- 리스트와 같이 순서가 있는 아이템들의 묶음
- 리스트와 동일하지만, 튜플은
immutable
- 리스트에서 사용하는
연산
, 인덱싱
, 슬라이싱
등 모두 동일하게 사용 가능
- t1 = ()
- t2 = 1, 2, 3
- t3 = (1, )
- t4 = t1 + t2
- t5 = t1 * 3
dictionary
key - value
쌍으로 이루어진 자료구조
value
에는 다양한 자료형이 들어갈 수 있음
key
에는 immutable type
만 들어갈 수 있음
Key Search
- dic[key] # key가 없으면 error
- dic.get(key) # key가 없으면 error
Iteration
- dic.keys() # list로 반환
- dic.items() # tuple로 반환
Set
- Add
- Update : 여러 값 동시에
- Remove
Set Operators and Methods
- s1 & s2 / s1.intersection(s2)
- s1 | s2 / s1.union(s2)
- s1 - s2 / s1.difference(s2)