세트(set)
: 중복되지 않는 항목들의 컬렉션
을 말하는데,
일단 첫째!
set는 {}(중괄호)를 써서 나타낸다.
중괄호에 데이터를 써서 나타내는데,
만약
중괄호안에 데이터가 없을 시엔 dict(딕셔너리) 형이 되므로
참고!!!!
set를 표현하는 방법에는 역시,
1. {}를 써서 나타내는 방법,
2. set()함수를 사용하는 방법 두가지가 있다!
set는 처음부터 '중복되지 않는 항목들의' 컬렉션 이라 하였는데,
만약 set1 = {2, 4, 5, 6, 3, 2, 5} 이라면,
print(set1)시에
결과값은 {2, 4, 5, 6, 3}이 나온다.
그렇기에
중복된 값이 있다면 set를 쓸 때, 빼준다는 것을 알 수 있다!
그렇다면~
우리는 이제 set를 쓸 때 사용할 수 있는 함수를 알아보자!!
- add(): 세트에 요소를 추가해준다
set2 = {10, 20}
set2.add(100)
print(set2)
set2.add(50)
print(set2)
{10, 20, 100}
{10, 50, 20, 100}
이렇듯 위 결과를 보았을 때
add()함수는
순서가 임의대로 나오며,
인덱싱되지 않음을 알 수 있다.
- update() : 세트에 여러 요소를 추가한다
set3 = {10, 20}
set3.update([30, 40, 50, 60])
print(set3)
{10, 20, 30, 40, 50, 60}
- remove() : 세트의 요소를 제거, 단 요소가 없으면 에러 발생
set4= {50, 60, 70}
set4remove(60)
print(set5)
# set4.remove(60) #keyError: 60
{50, 70}
- discard() : 세트의 요소를 제거, 단 요소가 없어도 에러가 발생하지 않음
set5 = {100, 200, 300}
set5.discard(200)
print(set6)
set5.discard(200)
print(set6)
{100, 300}
{100, 300}
- copy() : 세트를 복사
set6 = {10, 20, 30}
set7 = set6.copy() # set7 != set6 : 다른 메모리
print(set6)
print(set7)
print(id(set6))
print(id(set7))
{10, 20, 30}
{10, 20, 30}
136890701629472
136890700660096
- union : 합집합
set8 = {10, 20, 30, 40, 50}
set9 = {30, 40, 50, 60, 70}
result1 = set8.union(set9)
print(result1)
result2 = set8 | set9
print(result2)
{70, 40, 10, 50, 20, 60, 30}
{70, 40, 10, 20, 60, 30}
- intersection : 교집합
set10 = {10, 20, 30, 40, 50}
set11 = {30, 40, 50, 60, 70}
result1 = set10.intersection(set11)
print(result1)
result2 = set10 & set11
print(result2)
{40, 50, 30}
{40, 50, 30}
- difference : 차집합
set12 = {10, 20, 30, 40, 50}
set13 = {30, 40, 50, 60, 70}
result1 = set12.difference(set13)
print(result1)
result2 = set12 - set13
print(result2)
{10, 20}
{10, 20}
- 대칭 차집합 : symmetric_difference
set14 = {10, 20, 30, 40, 50}
set15 = {30, 40, 50, 60, 70}
result1 = set14.symmetric_difference(set15)
print(result1)
result2 = set14 ^ set15
print(result2)
{20, 70, 10, 60}
{20, 70, 10, 60}
'코딩 > 파이썬' 카테고리의 다른 글
파이썬 연산자 (0) | 2024.03.14 |
---|---|
컬렉션 타입 - 딕셔너리 (4) | 2024.03.14 |
파이썬 컬렉션 타입, 튜플 (0) | 2024.03.13 |
파이썬 컬렉션 타입, 리스트 (0) | 2024.03.13 |
문자열 다루기 (2) | 2024.03.13 |