300x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 리눅스
- DFS
- 코딩테스트
- 코딩 테스트
- linux
- 동적 프로그래밍
- 딥러닝
- dp
- 프로그래머스
- 파이썬
- 킥스타트
- 알고리즘
- kick start
- 브루트포스
- 프로그래밍
- AI
- 코딩
- nlp
- google coding competition
- OS
- 백준
- 네트워크
- BFS
- 동적프로그래밍
- 순열
- 구글 킥스타트
- 그래프
- PYTHON
- CSS
- 운영체제
Archives
- Today
- Total
오뚝이개발자
[파이썬] set - 집합 자료형 본문
728x90
300x250
파이썬엔 set이라는 자료형이 있다. set은 영어로 "집합"을 뜻하는데 수학적으로도 알 수 있듯이 특징은 크게 다음의 두 가지이다.
-
순서가 없다.
-
중복을 허락하지 않는다.
1번 특징) list의 경우 for문을 사용해 원소에 접근하면 모든 원소들을 순차적으로 탐색할 수 있다. 하지만 set은 다르다. 동일하게 for문을 사용하여 원소에 접근하면 어떤 것이 먼저 나올지 모른다.
2번 특징) 집합은 중복원소를 허용하지 않는다. 따라서 set에 중복된 원소를 삽입하면 자동으로 중복제거가 된다. 즉 모든 값들은 unique하다.
set의 선언
list나 dict는 다음과 같이 선언한다.
l = [] # list 자료형
d = {} # dict 자료형
set도 dict와 똑같은 {}를 사용한다. 따라서 중괄호만으로는 set을 선언할 수 없고, set 생성자를 따로 사용해야 한다.
>>> s = {}
>>> type(s)
<class 'dict'>
>>> s = set()
>>> type(s)
<class 'set'>
>>> s
set()
set의 원소 추가
add 메소드를 이용한다.
>>> s = set()
>>> s.add(1)
>>> s.add(2)
>>> s
{1, 2}
set의 원소 제거
remove 메소드를 이용한다.
>>> k = {1, 2, 3}
>>> k.remove(3)
>>> k
{1, 2}
>>> k.remove(3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 3
단 위와 같이 remove를 사용할 때 없는 값을 지우려 하면 keyerror가 난다. 이는 list에서 사용하는 remove와 동일하다. 이러한 에러를 방지하기 위해서는 discard 메소드를 사용하면 된다.
>>> k = {1, 2, 3}
>>> k.discard(3)
>>> k
{1, 2}
>>> k.discard(3)
>>> k
{1, 2}
위와 같이 discard를 사용하면 없는 값을 지우려해도 keyerror가 나지 않는다.
출처 : https://wikidocs.net/16044
728x90
300x250
'Language > 파이썬' 카테고리의 다른 글
[Python] 파이썬 리스트 정렬, sort()와 sorted() 차이 (0) | 2020.09.15 |
---|---|
[Python] 파이썬 구글 이미지 크롤링 (0) | 2020.08.12 |
[파이썬] np.random 모듈 정리 (0) | 2020.06.21 |
[파이썬] 숫자 판별 함수(isdigit(), isdecimal(), isnumeric()) (0) | 2020.05.30 |
[파이썬] dictionary의 값 참조 get() (0) | 2020.05.05 |
Comments