안녕하세요 오늘은 파이썬 강좌 4번째시간입니다. 이제 자료형에대해서 알아보도록 하겠습니다. 전 파이썬 강좌가 궁금하시면 아래를 참고하세요.
파이썬의 자료형은 다양하게 존재하는데요 이것은 쉽게얘기해서 강좌 1에서 알려드렸듯이 데이터를 저장하고 사용하는것을 말하는데요. 대표적으로 int, flaot, str 등등 존재합니다.
Python의 집합 자료형 (set)
Python의 집합 자료형(set)은 Python 2.3부터 지원된 자료형으로, 집합과 관련된 작업을 쉽게 처리하기 위해 만들어졌습니다. 이 글에서는 set의 생성 방법, 특징, 주요 기능 및 활용법을 다룹니다.
집합 자료형 생성 방법
집합 자료형은 set 키워드를 사용하여 다음과 같이 만들 수 있습니다 아래를 참고하세요.
# 리스트를 이용한 집합 생성
s1 = set([1, 2, 3])
print(s1) # 출력: {1, 2, 3}
# 문자열을 이용한 집합 생성
s2 = set("Hello")
print(s2) # 출력: {'e', 'H', 'l', 'o'}
# 빈 집합 생성
s3 = set()
print(s3) # 출력: set()
집합 자료형의 특징
집합 자료형에는 두 가지 주요 특징이 있습니다:
- 중복 허용 안 함: 집합은 중복된 값을 허용하지 않습니다.
- 순서 없음: 집합은 순서가 없으므로, 인덱싱을 통해 값을 접근할 수 없습니다.
예를 들어, set(‘Hello’)를 사용하면 중복된 문자인 ‘l’은 하나만 포함되며, 순서가 보장되지 않습니다.
집합 자료형의 주요 기능
인덱싱 및 변환
집합 자료형은 순서가 없기 때문에 인덱싱을 지원하지 않습니다. 하지만 리스트나 튜플로 변환하여 인덱싱을 사용할 수 있습니다. 아래를 참고하세요.
s1 = set([1, 2, 3])
l1 = list(s1)
print(l1) # 출력: [1, 2, 3]
print(l1[0]) # 출력: 1
t1 = tuple(s1)
print(t1) # 출력: (1, 2, 3)
print(t1[0]) # 출력: 1
중복 제거
집합 자료형의 중복이 허용하지 않는 특성은 데이터의 중복을 제거하는데 유용합니다.
집합 연산 : 교집합, 합집합, 차집합
집합 자료형은 수학에서 자주 사용하는 교집합, 합집합, 차집합 연산을 쉽게 수행할 수 있습니다.
교집합
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
# & 기호 사용
print(s1 & s2) # 출력: {4, 5, 6}
# intersection 함수 사용
print(s1.intersection(s2)) # 출력: {4, 5, 6}
합집합
# | 기호 사용
print(s1 | s2) # 출력: {1, 2, 3, 4, 5, 6, 7, 8, 9}
# union 함수 사용
print(s1.union(s2)) # 출력: {1, 2, 3, 4, 5, 6, 7, 8, 9}
차집합
# - 기호 사용
print(s1 - s2) # 출력: {1, 2, 3}
print(s2 - s1) # 출력: {8, 9, 7}
# difference 함수 사용
print(s1.difference(s2)) # 출력: {1, 2, 3}
print(s2.difference(s1)) # 출력: {8, 9, 7}
집합 자료형 관련함수들
값 추가하기(add)
s1 = set([1, 2, 3])
s1.add(4)
print(s1) # 출력: {1, 2, 3, 4}
여러값 추가하기(update)
s1 = set([1, 2, 3])
s1.update([4, 5, 6])
print(s1) # 출력: {1, 2, 3, 4, 5, 6}
값제거하기(remove)
s1 = set([1, 2, 3])
s1.remove(2)
print(s1) # 출력: {1, 3}
집합 자료형ㅇ느 데이터의 중복제거, 다양한 집합 연산 등 많은 기능을 제고하고 python 프로그래밍에서 유용하게 사용하고 있습니다. 이런 특성을 이해하고 활용한다면 더욱 효과적으로 데이터르 다룰 수 있습니다.
불자료형(Boolean Type)
불 자료형(bool)은 참(True)과 거짓(false)을 나타내는 자료형입니다. 다음 두가지 값만 가지고 있을 수 있습니다.
- True : 참
- False : 거짓
python 에서 True와 False가 예약어이고 첫 문자를 항상 대문자로 사용해야합니다. 예를 들어서 변수 ‘a’에는 True를 그리고 ‘b’에는 False를 지정할 수 있습니다.
a = True
b = False
이렇게 할 경우 ‘a’ 와 ‘b’의 자료형은 ‘bool’로 지정됩니다. 이를 확인하려면 ‘type’함수를 사용할 수 있습니다.
print(type(a)) # 출력: <class 'bool'>
print(type(b)) # 출력: <class 'bool'>
조건문에서의 불 자료형 사용
불 자료형은 조건문의 반환 값으로도 자주 사용됩니다. 예를 들어, 1 == 1은 참이므로 True를 반환하고, 2 < 1은 거짓이므로 False를 반환합니다:
print(1 == 1) # 출력: True
print(2 > 1) # 출력: True
print(2 < 1) # 출력: False
자료형의 참과 거짓
Python에서는 특정 자료형의 값이 참(True)인지 거짓(False)인지 구분할 수 있습니다. 다음 표는 여러 자료형의 값이 참인지 거짓인지를 나타냅니다:
값 | 참/거짓 |
‘python’ | 참 |
” | 거짓 |
[1,2,3] | 참 |
[] | 거짓 |
() | 거짓 |
{} | 거짓 |
1 | 참 |
0 | 거짓 |
None | 거짓짓 |
문자열, 리스트, 튜플, 딕셔너리 등이 비어 있으면 거짓이 됩니다. 숫자에서는 값이 0일 때 거짓이 됩니다.
예제: 참과 거짓 활용
다음 예제는 리스트의 요소를 모두 꺼내는 간단한 프로그램입니다
a = [1, 2, 3, 4]
while a:
print(a.pop())
이 코드는 리스트 a가 비어 있지 않은 동안 마지막 요소를 계속 꺼내어 출력합니다. 리스트가 비어 있는 경우, a는 거짓이 되어 while 루프가 종료됩니다.
다음은 비어 있는 리스트와 비어 있지 않은 리스트를 조건문에서 사용하는 예제입니다:
if []:
print("참")
else:
print("거짓")
# 출력: 거짓
if [1, 2, 3]:
print("참")
else:
print("거짓")
# 출력: 참
불 연산
자료형의 참과 거짓을 확인하기 위해 내장 함수를 사용할 수 있습니다
print(bool('python')) # 출력: True
print(bool('')) # 출력: False
print(bool([1, 2, 3])) # 출력: True
print(bool([])) # 출력: False
print(bool(0)) # 출력: False
print(bool(3)) # 출력: True
위의 예제를 통해서 다양한 자료형이 참인지 거짓인지를 확인할 수 있었습니다.
이렇게 오늘은 자료형의 대해서 알아보았고 가장 기본기를 다지는 단계라고 할 수 있겠습니다. 기본기를 잘다져나야지 나중에 실무에서도 자연스럽게 사용할 수 있습니다. 여러분들의 코딩이 즐거운 코딩이 되시길 기원하면서 다음에 보겠습니다.
다음에는 변수들과 if문에대해서 알아보도록 하겠습니다.