-
반응형
파이썬 집합 자료형의 요소 추가, 제거 등에 대해 알아봅니다.
집합 자료형의 개념은 이전 포스팅에서 다루었습니다.
집합 자료형이 무엇인지 궁금하다면 먼저 보고 오세요.
[IT 이야기 공간/프로그램 언어 및 Database] - 파이썬 기초 데이터 유형 – 집합 ( Set ) 자료형
● 집합 요소값 추가하기
집합 요소 값을 추가하는 메소드는 2가지가 있습니다.
add() 와 update() 가 있습니다.
add() : 요소값 1개 추가
update() : 요소값 여러 개 추가>>> x = {1, 2, 3}
>>> type(x)
<class 'set’>
## add로 요소값을 하나 추가합니다.
>>> x.add(4)
>>> x
{1, 2, 3, 4}
## 중복 값을 입력해 보았습니다.
## 집합이라 중복이 허용되지 않으므로 오류는 발생하지 않지만 추가되지는 않습니다.
>>> x.add(3)
>>> x
{1, 2, 3, 4}
## 0을 추가해 봅니다. 순서대로 추가 되는 것 처럼 보이지만 순서는 없습니다.
>>> x.add(0)
>>> x
{0, 1, 2, 3, 4}
>>>update는 딕셔너리에서는 여러 값 수정 및 없으면 추가가 되었으나, 집합은 수정의 개념이 없으므로 추가됩니다.
>>>>>> x = { 500, 20, 66 }
>>> x.update([20, 100, 200])
>>> x
{66, 100, 200, 500, 20}
>>>● 집합 요소값 제거하기
집합의 요소값을 제거하는 방법도 2가지가 있습니다.
Remove() 와 dicard() 입니다. 둘 다 결과는 같지만 없는 값을 삭제 시 오류발생 여부가 다릅니다.
오류 발생 여부는 프로그램을 멈출 수도 있으므로 중요한 포인트입니다. 이전 포스팅에서도 언급하였었습니다.
참고로 집합은 update 의 개념이 없으므로 삭제 후 추가하는 방법으로 update 합니다.
>>> x = {66, 100, 200, 500, 20}
>>> x
{66, 100, 200, 500, 20}
## 20을 제거합니다.
>>> x.remove(20)
>>> x
{66, 100, 200, 500}
## 100을 제거합니다.
>>> x.discard(100)
>>> x
{66, 200, 500}
## 없는값인 0을 제거할 경우 remove 는 오류를 발생시킵니다.
>>> x.remove(0)
Traceback (most recent call last):
File "<pyshell#27>", line 1, in <module>
x.remove(0)
KeyError: 0
## 없는값인 0을 제거할 경우 discard 는 오류를 발생시키지 않습니다.
>>> x.discard(0)
>>> x
{66, 200, 500}
>>>● 집합 임의의 값 삭제하기
pop는 리스트 자료형에서도 봤던 메소드로 리스트에서는 괄호안에 인덱스의 값을 삭제하고 그 값을 반환했습니다. 값이 없으면 마지막 값을 삭제하고 그 값을 반환하였었습니다.
집합에서는 순서도 없고 인덱스로 접근도 안되므로 그냥 알아서 임의의 값을 삭제하고 그 값을 반환합니다.
집합의 모든 값이 없을 경우 pop를 사용하면 오류를 발생 시킵니다.
>>> x
{2, 3}
>>> x.pop()
2
>>> x
{3}
>>> x.pop()
3
>>> x
set()
>>> x.pop()
Traceback (most recent call last):
File "<pyshell#51>", line 1, in <module>
x.pop()
KeyError: 'pop from an empty set'
>>>● 집합의 모든 요소 값 삭제하기
clear()는 모든 집합 요소 값을 삭제하고 빈 집합으로 만들어 줍니다.
>>> x = {2, 4, 5}
>>> x.clear()
>>> x
set()
## 빈 집합을 다시한번 clear 해 보았습니다. 오류는 발생하지 않습니다.
>>> x.clear()
>>> x
set()
>>>● 집합의 요소 개수 구하기
예상하셨듯 len 을 사용합니다.
>>> x = { 2, 3, 4}
>>> len(x)
3
>>>● 집합 요소 값 안에 있는지 확인하기
리스트 자료형에서도 in 을 사용하여 참 / 거짓 값을 반환하였습니다.
사용 방법은 동일합니다.
>>> x = { 2, 3, 4}
>>> 3 in x
True
>>> 5 in x
False
>>>이상으로 집합의 추가 및 삭제에 대해 알아보았습니다.
반응형'IT 이야기 공간 > 프로그램 언어' 카테고리의 다른 글
파이썬 조건문 – 비교 논리 연산자 (2) 2020.06.23 파이썬 집합(set) 확인 메소드 (0) 2020.06.22 파이썬 딕셔너리 복사 (1) 2020.06.19 파이썬 딕셔너리 요소 추가 수정 삭제 방법 (0) 2020.06.18 파이썬 리스트 개수, 길이 구하기 (0) 2020.06.17