[Python] 8-3장 튜플, 집합

튜플(tuple)

- 내용 변경이나 추가 불가능

- But 리스트보다 속도 빠름

- 변경되지 않는 목록일 때 사용

- 소괄호()로 생성

menu = ("아메리카노", "카페라떼")
print(menu)  # ('아메리카노', '카페라떼')

 

 

- 내용 추가(add 함수) 사용 불가

menu = ("아메리카노", "카페라떼")
menu,add("카푸치노")  # 오류

 

 

- 변수 여러 개 동시 선언 가능

name, age, language = ("홍길동", 20, "한국어")
print(name, age, language)  # 홍길동 20 한국어

 

 

- 값 접근

: 인덱스로 접근

menu = ("아메리카노", "카페라떼")
print(menu[0])  # 아메리카노

 

 

집합(set)

- 항목 중복 불가능

- 순서 없음

- 중괄호{}로 생성

set1 = {1, 2, 3, 3, 2}
print(set1)  # {1, 2, 3}

 

 

 

집합 연산

- 교집합(&, intersection)

: 두 집합에 공통으로 들어있는 원소들로 이루어진 집합

- 집합1 & 집합2
- 집합.intersection(집합2)
twosome = {"아메리카노", "허니레몬티", "말차프라페", "카페라떼"}
ediya = {"아메리카노", "카페라떼", "밀크티", "식혜"}
print(twosome & ediya)  # {'카페라떼', '아메리카노'}
print(ediya.intersection(twosome))  # {'카페라떼', '아메리카노'}

 

 

- 합집합(|, union)

: 두 집합의 원소 전체로 이루어진 집합

- 집합1 | 집합2
- 집합.union(집합2)
twosome = {"아메리카노", "허니레몬티", "말차프라페", "카페라떼"}
ediya = {"아메리카노", "카페라떼", "밀크티", "식혜"}
print(twosome | ediya)  # {'말차프라페', '밀크티', '식혜', '카페라떼', '허니레몬티', '아메리카노'}
print(ediya.union(twosome))  # {'말차프라페', '밀크티', '식혜', '카페라떼', '허니레몬티', '아메리카노'}

 

 

- 차집합(-, difference)

: 두 집합에서 하나의 집합에는 포함되지만 다른 집합에는 포함되지 않는 원소들로 이루어진 집합

- 집합1 - 집합2
- 집합1.difference(집합2)
twosome = {"아메리카노", "허니레몬티", "말차프라페", "카페라떼"}
ediya = {"아메리카노", "카페라떼", "밀크티", "식혜"}
print(twosome - ediya)  # {'허니레몬티', '말차프라페'}
print(ediya.difference(twosome))  # {'식혜', '밀크티'}

 

 

 

집합 추가

- 집합.add(값)

: 집합에 값 추가

menu = {"아메리카노", "카페라떼", "카푸치노"}
menu.add("콜드브루")
print(menu)  # {'카페라떼', '콜드브루', '아메리카노', '카푸치노'}

 

 

 

집합 삭제

- 집합.remove(값)

: 집합에 있는 값 삭제

menu = {"아메리카노", "카페라떼", "카푸치노"}
menu.remove("아메리카노")
print(menu)  # {'카페라떼', '카푸치노'}