
튜플 (tuple) 자료형
📌 리스트 vs 튜플
- 리스트는 [], 튜플은 ()
- 리스트는 mutable 자료형이지만 튜플은 immutable 자료형으로 요소값 변경 불가
- 튜플은 요솟값을 변화시킬 수 없다는 점만 제외하면 리스트와 거의 동일
- sort, insert, remove, pop 등 불가
📌 튜플 생성
t1 = ()
t2 = (1,)
t3 = (1, 2, 3)
t4 = 1, 2, 3 # () 없어도 튜플 !
t5 = ('a', 'b', ('ab', 'cd'))
딕셔너리 (dictionary) 자료형
📌 딕셔너리 : 대응 관계를 나타내는 자료형 (key : value)
key 중복 불가. 동일 key 있을 경우 덮어쓰게 됨
key 에는 변하지 않는 immutable 값만 넣을 수 있다. 변하는 값인 리스트를 넣으면 오류 발생함.
dic = {'name': 'abc', 'phone': '010-1234-5678', 'birth': '123456'}
📌 딕셔너리 사용법
# 딕셔너리 요소 추가 : 대괄호에 key, 우측에 value
a = {1 : 'a'}
a['num'] = 'ber'
print(a) # {1: 'a', 'num': 'ber'}
# 딕셔너리 요소 삭제 : del
b = {'num':'ber', 'hel':'lo', 'a':[1,2,3], 1:'x'}
del b['num'], b[1]
print(b) # {'hel': 'lo', 'a': [1, 2, 3]}
# 딕셔너리 요소 값 조회 : 없으면 오류 발생
c = {1: 'apple', 'fruit': 'banana', 'x': ['melon', 'orange']}
print(c['x']) # ['melon', 'orange']
# key 리스트 만들기 keys()
print(c.keys()) # dict_keys([1, 'fruit', 'x']) : dict_keys가 list 보다 메모리 낭비가 적다
print(list(c.keys())) # [1, 'fruit', 'x']
# values 리스트 만들기 values()
print(c.values()) # dict_values(['apple', 'banana', ['melon', 'orange']])
print(list(c.values())) # ['apple', 'banana', ['melon', 'orange']]
# key, value 쌍을 튜플로 묶은 값 얻기 items()
print(c.items()) # dict_items([(1, 'apple'), ('fruit', 'banana'), ('x', ['melon', 'orange'])])
print(list(c.items())) # [(1, 'apple'), ('fruit', 'banana'), ('x', ['melon', 'orange'])]
# key, value 쌍 모두 지우기 clear()
d = {'num':'ber', 'hel':'lo', 'a':[1,2,3], 1:'x'}
d.clear()
print(d) # {}
# 딕셔너리 요소 값 조회 get() : 없으면 None 이라는 값이 나옴, 없을 때 기본 출력 값 설정 가능
e = {'num':'ber', 'hel':'lo', 'a':[1,2,3], 1:'x'}
print(e.get('num')) # ber
print(e.get('good', '없을 때 기본 출력 값')) # 없을 때 기본 출력 값
# 딕셔너리 내에 해당 key 있는 지 확인하는 in
print('hel' in e) # True
print('abab' in e) # False
# key로 value 얻기 pop()
f = {'num':'ber', 'hel':'lo', 'a':[1,2,3], 1:'x'}
val = f.pop('a')
print(val) # [1, 2, 3]
print(f) # {'num': 'ber', 'hel': 'lo', 1: 'x'}
noval = f.pop('e', 'pop 할 게 없을 때 기본 출력 값')
print(noval) # pop 할 게 없을 때 기본 출력 값
print(f) # {'num': 'ber', 'hel': 'lo', 1: 'x'}
집합 (set) 자료형
📌 집합
중복을 허용하지 않고 순서가 없는 데이터들의 모임. 집합 연산을 쉽게 처리.
# 집합 자료형 : {} 내에 요소가 있는 자료형
a = set([1,2,3]) # {1, 2, 3}
b = set("banana") # {'n', 'a', 'b'}
c = {1, 2, 3} # {1, 2, 3}
d = set() # 비어있는 집합 자료형은 set()으로 만듬. {}로 만들면 딕셔너리가 됨
print(type(d)) # <class 'set'>
# 집합 자료형은 순서가 없음 -> 인덱싱을 통해 요소값을 얻을 수 없다.
# 리스트나 튜플로 변환 후 인덱싱으로 접근 가능
e = set([1, 2, 3])
f = list(e) # [1, 2, 3]
print(f[0]) # 1
# 리스트의 중복 제거 시 유용
list1 = [1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4]
setList = set(list1)
print(setList) # {1, 2, 3, 4}
deldupList = list(set(list1))
print(deldupList) # [1, 2, 3, 4]
# 교집합, 합집합, 차집합 구하기
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
# 교집합 &
print(s1 & s2) # {4, 5, 6}
print(s1.intersection(s2)) # {4, 5, 6}
# 합집합 |
print(s1 | s2) # {1, 2, 3, 4, 5, 6, 7, 8, 9}
print(s1.union(s2)) # {1, 2, 3, 4, 5, 6, 7, 8, 9}
# 차집합 -
print(s1 - s2) # {1, 2, 3}
print(s1.difference(s2)) # {1, 2, 3}
print(s2.difference(s1)) # {8, 9, 7}
# 집합 자료형 관련 함수
# 요소 추가 add
g = set([1, 2, 3])
g.add(4)
print(g) # {1, 2, 3, 4}
# 요소 여러 개 추가 update
h = set([1, 2, 3])
h.update([4,5,6])
print(h) # {1, 2, 3, 4, 5, 6}
# 특정 요소 제거 remove : 없는 값 제거 시 오류 발생
i = set([1, 2, 3])
i.remove(2)
print(i) # {1, 3}
# 특정 요소 제거 discard : 없는 값 제거 시 오류 발생 안 함
j = set([1, 2, 3])
j.discard(1)
print(j) # {2, 3}
j.discard(5)
print(j) # {2, 3}
# 모든 요소 제거 clear
k = set([1, 2, 3])
k.clear()
print(k) # set()
불 (bool) 자료형
True나 False는 파이썬의 예약어로,
true, false와 같이 작성하면 안 되고 첫 문자를 항상 대문자로 작성해야 한다.
📌 불 자료형
# 불 자료형
a = True
b = False
print(a) # True
print(b) # False
print(type(a)) # <class 'bool'>
print(type(b)) # <class 'bool'>
# 문자열, 리스트, 튜플, 딕셔너리 : 값이 있으면 참 없으면(비었으면) 거짓
# 숫자는 0 거짓 1 이상 참
# None 은 거짓
'Language > Python' 카테고리의 다른 글
| [Python] 조건문 if , elif , else (4) | 2025.08.17 |
|---|---|
| [Python] 변수 : 변수명 규칙, 변수 (8) | 2025.08.17 |
| [Python] 파이썬 자료형 : 숫자형, 문자열 자료형, 리스트 자료형 (8) | 2025.08.17 |
| Visual Studio Code 파이썬 환경 설정 (VSCode) (2) | 2025.08.16 |
| Python 실행해보기 (REPL, IDLE, CMD) (2) | 2025.08.16 |