1. 집합
✔︎ 집합 자료형 만들기와 특징
>>> s1 = set([1, 2, 3])
>>> s1
{1, 2, 3}
>>> s2 = set("Hello")
>>> s2
{'e', 'H', 'l', 'o'}
- 중복을 허용하지 않는다. → 따라서 set은 중복 제거를 위한 필터 역할로 종종 사용된다.
- 순서가 없다. → 인덱싱 사용 불가 → 인덱싱을 사용하려면 set을 리스트나 튜블로 변환 후 사용해야 한다.
✔︎ 관련 함수
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
함수 | 식 | 값 |
교집합 | s1 & s2 | {4, 5, 6} |
s1.intersection(s2) | ||
합집합 | s1 | s2 | {1, 2, 3, 4, 5, 6, 7, 8, 9} |
s1.union(s2) | ||
차집합 | s1 - s2 | {1, 2, 3} |
s1.difference(s2) | ||
s2 - s1 | {8, 9, 7} | |
s2.difference(s1) | ||
값 1개 추가하기(add) | s1 = set([1, 2, 3]) s1.add(4) s1 |
{1, 2, 3, 4} |
값 여러 개 추가하기(update) | s1 = set([1, 2, 3]) s1.update([4, 5, 6]) s1 |
{1, 2, 3, 4, 5, 6} |
특정 값 제거하기(remove) | s1 = set([1, 2, 3]) s1.remove(2) s1 |
{1, 3} |
2. 불
✔︎ 자료형의 참과 거짓
자료형 | 값 | True or False |
문자열 | "python" | True |
"" | False | |
리스트 | [1, 2, 3] | True |
[] | False | |
튜플 | () | False |
딕셔너리 | {} | False |
숫자형 | 0이 아닌 숫자 | True |
0 | False | |
None | False |
3. 자료형의 값을 저장하는 공간, 변수
✔︎ 변수란?
a = [1, 2, 3]
⇒ [1, 2, 3] 값을 가지는 리스트(객체)가 자동으로 메모리에 생성되고 변수 a는 [1, 2, 3] 리스트가 저장된 메모리의 주소를 가리킨다.
>>> a = [1, 2, 3]
>>> id(a)
4303029896
- id함수: 변수가 가리키고 있는 객체의 주소 값을 돌려주는 파이썬 내장 함수.
- 변수 a가 가리키는 [1, 2, 3] 리스트의 주소 값은 4303029896 이다.
✔︎ 리스트를 복사할 때
주소 공유 여부 | 식 |
주소 공유 | a = [1, 2, 3] b = a |
서로 다른 주소 | >>> a = [1, 2, 3] >>> b = a[:] #리스트 a의 처음 요소부터 끝 요소까지 슬라이싱 >>> a[1] = 4 >>> a [1, 4, 3] >>>b [1, 2, 3] |
>>> from copy import copy >>> a = [1, 2, 3] >>> b = copy(a) #b = a[:] 와 동일 |
* 활용법: 두 변수의 값 바꾸기
>>> a = 3
>>> b = 5
>>> a, b = b, a
>>> a
5
>>> b
3
'◦ Algorithm > Python' 카테고리의 다른 글
[점프투파이썬] 클래스 (0) | 2021.01.30 |
---|---|
[점프투파이썬] 함수, 사용자 입출력 (0) | 2021.01.29 |
[점프투파이썬] 리스트, 튜플, 딕셔너리 (0) | 2021.01.26 |
[점프투파이썬] 제어문 (0) | 2021.01.25 |
[점프투파이썬] 문자열 (0) | 2021.01.09 |