자료형
파이썬은 다양한 기본 자료형을 제공합니다. 여기에는 숫자형, 문자열, 리스트, 튜플, 딕셔너리, 집합 등이 포함됩니다.
- 숫자형: 정수(int), 실수(float), 복소수(complex) 등이 있습니다.
a = 10 #정수
b = 3.14 #실수
c = 3 + 4j #복소수
- 문자열(str): 문자들의 시퀀스입니다. 작음따옴표('')나 큰따옴표("")로 둘러싸여 있습니다.
hi = "안녕"
name = "길동"
plus = hi + ", " + name + "!"
- 리스트(list): 다양한 값들을 순서대로 저장하는 컬렉션입니다. 대괄호([])로 둘러싸여 있으며, 내부의 요소들은 콤마(,)로 구분됩니다.
fruits = ['사과', '바나나', '체리']
numbers = [1, 2, 3, 4, 5]
mixed = ['문자열', 10, True]
- 튜플(tuple): 리스트와 유사하지만, 한 번 생성되면 내용을 변경할 수 없습니다. 소괄호(())로 둘러싸여 있습니다.
colors = ('빨강', '노랑', '초록')
- 딕셔너리(dictionary): 키(key)와 값(value)의 쌍으로 이루어진 컬렉션입니다. 중괄호({})로 둘러싸여 있으며, 콜론(:)으로 키와 값이 구분됩니다.
person = {'이름': '홍길동', '나이': 30, '도시': '서울'}
- 집합(set): 중복을 허용하지 않고, 순서가 없는 컬렉션입니다. 중괄호({})로 둘러싸여 있으나, 딕셔너리와 달리 키만 있고 값이 없습니다.
my_set = {1, 2, 3, 4, 5}
문자열
문자열은 문자들의 연속으로, 파이썬에서는 작은 따옴표('')나 큰따옴표("")로 둘러싸여 있습니다. 문자열은 불변하므로, 한 번 생성된 문자열은 변경할 수 없습니다.
- 문자열 생성 및 기본 사용
# 문자열 생성
greeting = "Hello, World!"
single_quote_str = 'Hello, World!'
- 문자열 연결
first_name = "John"
last_name = "Doe"
full_name = first_name + " " + last_name # "John Doe"
- 문자열 반복
repeated_str = "Hello" * 3 # "HelloHelloHello"
- 문자열 인덱싱과 슬라이싱
text = "Hello, World!"
first_char = text[0] #'H'
last_char = text[-1] #'!'
substring = text[0:5] #'Hello'
- 문자열 메서드
text = "Hello, World!"
upper_text = text.upper() # 'HELLO, WORLD!'
lower_text = text.lower() # 'hello, world!'
split_text = text.split(", ") # ['Hello', 'World!']
리스트(List)
리스트는 여러 개의 값을 순서대로 저장할 수 있는 변경 가능한 자료형입니다. 대괄호([])로 둘러싸여 있으며, 내부의 요소들은 콤마(,)로 구분됩니다.
- 리스트 생성 및 기본 사용
# 리스트 생성
fruits = ['apple', 'banana', 'cherry']
numbers = [1, 2, 3, 4, 5]
mixed_list = ['string', 10, 3.14, True]
- 리스트 인덱싱과 슬라이싱
fruits = ['apple', 'banana', 'cherry']
first_fruit = fruits[0] # 'apple'
last_fruit = fruits[-1] # 'cherry'
sublist = fruits[0:2] # ['apple', 'banana']
- 리스트 추가 및 확장
fruits = ['apple', 'banana']
fruits.append('cherry') # ['apple', 'banana', 'cherry']
fruits.extend(['date', 'elderberry']) # ['apple', 'banana', 'cherry', 'date', 'elderberry']
- 리스트 요소 변경 및 삭제
fruits = ['apple', 'banana', 'cherry']
fruits[1] = 'blueberry' # ['apple', 'blueberry', 'cherry']
del fruits[0] # ['blueberry', 'cherry']
- 리스트 메서드
fruits = ['apple', 'banana', 'cherry']
fruits.sort() # ['apple', 'banana', 'cherry'] (이미 정렬된 상태)
fruits.reverse() # ['cherry', 'banana', 'apple']
index_of_banana = fruits.index('banana') # 1
튜플(Tuple)
튜플은 리스트와 유사하지만, 한 번 생성되면내용을 변경할 수 없는 데이터 구조입니다. 튜플은 소괄호 ()로 둘러싸여 있으며, 요소들은 콤마로 구분됩니다.
- 튜플 생성 및 기본 사용법
# 튜플 생성
colors = ('red', 'green', 'blue')
numbers = (1, 2, 3, 4, 5)
mixed_tuple = ('string', 10, 3.14, False)
- 튜플 인덱싱 및 슬라이싱
colors = ('red', 'green', 'blue')
first_color = colors[0] # 'red'
last_color = colors[-1] # 'blue'
subtuple = colors[0:2] # ('red', 'green')
- 튜플 메소드
colors = ('red', 'green', 'blue', 'green')
count_green = colors.count('green') # 2
index_of_blue = colors.index('blue') # 2
딕셔너리(Dictionary)
딕셔너리는 키(key)와 값(Value)의 쌍으로 이루어진 가변 컬렉션입니다. 중괄호 {}로 둘러싸여 있으며, 각 키와 값은 콜론 : 으로 구분됩니다. 딕셔너리의 키는 고유해야 합니다.
- 딕셔너리 생성 및 기본 사용법
# 딕셔너리 생성
person = {'name': 'John', 'age': 30, 'city': 'New York'}
- 딕셔너리에 접근 및 수정
name = person['name'] # 'John'
person['age'] = 31 # 나이를 31로 수정
- 딕셔너리에 요소 추가 및 제거
person['job'] = 'Engineer' # 직업 추가
del person['city'] # 도시 정보 삭제
- 딕셔너리 메소드
keys = person.keys() # dict_keys(['name', 'age', 'job'])
values = person.values() # dict_values(['John', 31, 'Engineer'])
items = person.items() # dict_items([('name', 'John'), ('age', 31), ('job', 'Engineer')])
# 특정 키가 딕셔너리에 있는지 확인
'name' in person # True
- 딕셔너리 순회
for key, value in person.items():
print(f"{key}: {value}")
세트(Set)
세트는 중복을 허용하지 않고, 순서가 없는 데이터 구조입니다. 중괄호 {}를 사용하여 생성하며, 요소들은 콤마로 구분됩니다. 세트는 변경 가능한 자료형입니다.
- 세트 생성 및 기본 사용
# 빈 set 생성
empty_set = set()
# 요소가 있는 set 생성
fruits = {'apple', 'banana', 'cherry'}
numbers = {1, 2, 3, 4, 5}
mixed_set = {'string', 10, 3.14, True}
- 세트에 요소 추가 및 제거
fruits = {'apple', 'banana'}
fruits.add('cherry') # {'apple', 'banana', 'cherry'}
fruits.remove('banana') # {'apple', 'cherry'}
fruits.discard('banana') # 요소가 없어도 에러 발생하지 않음
- 세트의 집합 연산
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# 합집합
union_set = set1 | set2 # {1, 2, 3, 4, 5}
union_set = set1.union(set2) # {1, 2, 3, 4, 5}
# 교집합
intersection_set = set1 & set2 # {3}
intersection_set = set1.intersection(set2) # {3}
# 차집합
difference_set = set1 - set2 # {1, 2}
difference_set = set1.difference(set2) # {1, 2}
# 대칭 차집합
symmetric_difference_set = set1 ^ set2 # {1, 2, 4, 5}
symmetric_difference_set = set1.symmetric_difference(set2) # {1, 2, 4, 5}
- 세트의 기타 메소드
fruits = {'apple', 'banana', 'cherry'}
# 요소 존재 여부 확인
'apple' in fruits # True
'grape' in fruits # False
# 길이 확인
len(fruits) # 3
# 모든 요소 제거
fruits.clear() # set()
오늘은 자료형인 문자열과 리스트, 튜플, 딕셔너리, 세트에 대해서 알아보았습니다.
다음에는 모듈에 대해서 알아보겠습니다!
이전 문법들도 함께 보시면 좋습니다~!
2024.05.08 - [IT] - [Python] 파이썬 문법 정리[2탄] (함수, 반환문, 지역변수, 전역변수, 람다)
2024.05.08 - [IT] - [Python] 파이썬 문법 정리[1탄](변수, 리스트, for, while, if-elif-else)
'IT' 카테고리의 다른 글
[백엔드 면접] GPT4o 기반 CS 기술 면접 (0) | 2024.07.04 |
---|---|
[Python] 파이썬 문법 정리[4탄] (코딩 테스트 대비) (0) | 2024.06.26 |
[Python] 파이썬 문법 정리[2탄] (함수, 반환문, 지역변수, 전역변수, 람다) (0) | 2024.05.08 |
[Python] 파이썬 문법 정리[1탄](변수, 리스트, for, while, if-elif-else) (0) | 2024.05.08 |
[알고리즘] DFS와 BFS(개념, 특징, 동작 원리, 파이썬 예시) (0) | 2024.05.07 |