
Python에서 자료형과 컬렉션은 데이터를 효율적으로 저장하고 조작하는 데 필수적인 요소입니다. 이번 글에서는 자료형과 컬렉션(리스트, 딕셔너리 등)에 대해 깊이 있게 알아보아요!
📚 자료형이란?
자료형(Data Type)은 프로그램에서 사용할 데이터의 종류를 의미합니다. Python에서는 다양한 자료형이 제공되며 주로 다음과 같은 자료형이 사용됩니다.
| 자료형 | 설명 | 예시 |
| int | 정수형 데이터 | x = 10 |
| float | 실수형 데이터 | y = 3.14 |
| str | 문자열 데이터 | name = "Python" |
| bool | 참(True) 또는 거짓(False)를 나타내는 자료형 | is_ready = True |
| list | 여러 값을 순차적으로 저장하는 자료형 | numbers = [1, 2, 3] |
| dict | 키와 값을 쌍으로 저장하는 자료형 | person = {"name": "Lee"} |
x = 10
y = 3.5
name = "Alice"
is_active = False
print(type(x)) # <class 'int'>
print(type(y)) # <class 'float'>
print(type(name)) # <class 'str'>
print(type(is_active)) # <class 'bool'>
🗂️ 컬렉션 자료형
컬렉션 자료형은 여러 개의 데이터를 하나의 변수에 저장하는 자료구조입니다. Python에서는 다음과 같은 컬렉션 자료형이 제공됩니다.
| 컬렉션 자료형 | 생성 방법 | 예시 |
| 리스트(list) | 대괄호 [] 사용 | numbers = [1, 2, 3, 4] |
| 튜플(tuple) | 소괄호 () 사용 | points = (10, 20, 30) |
| 세트(set) | 중괄호 {} 사용 | unique = {1, 2, 3} |
| 딕셔너리(dict) | 중괄호 {}와 키:값 쌍 사용 | info = {"name": "John", "age": 25} |
fruits = ["apple", "banana", "cherry"]
coordinates = (10, 20)
unique_numbers = {1, 2, 3, 4}
info = {"name": "Eve", "age": 27}
📋 리스트(List)
리스트는 여러 개의 데이터를 순서대로 저장할 수 있는 자료형으로 수정 및 조작이 가능합니다.
리스트에 저장되는 각각의 데이터를 항목 또는 원소라고 하며, 항목은 숫자나 문자, 다른 리스트 등 다양한 종류로 구성 가능합니다.
각 항목은 순서대로 인덱스라고 하는 번호가 정해지며 0부터 시작합니다.
리스트 생성 방법
- 기본 생성: 대괄호([])를 사용하여 요소를 쉼표로 구분해 리스트를 생성합니다.
- 빈 리스트 생성: 빈 리스트는 [] 또는 list()로 생성할 수 있습니다.
- 반복문을 사용한 리스트 생성: for 문과 range() 함수를 사용하여 특정 규칙에 따라 리스트를 생성합니다.
- 리스트 컴프리헨션: 짧은 코드로 리스트를 생성하는 Python의 강력한 기능입니다.
EX)
리스트명 = [값1, 값2, ...]
# 기본 리스트 생성
numbers = [1, 2, 3, 4, 5]
# 빈 리스트 생성
empty_list = []
# 반복문을 사용해 리스트 생성
squares = []
for x in range(1, 6):
squares.append(x ** 2)
# 리스트 컴프리헨션
cubes = [x ** 3 for x in range(1, 6)]
print(squares) # [1, 4, 9, 16, 25]
print(cubes) # [1, 8, 27, 64, 125]
🔢 리스트 다루기
리스트 인덱싱과 슬라이싱 ( number = [1, 2, 3, 4, 5] )
| 연산 | 설명 | 예시 |
| list[i] | i 번째 요소 조회 | numbers[2] -> 3 |
| list[i:j] | i부터 j-1까지의 요소 슬라이싱 | numbers[1:4] -> [2, 3, 4] |
| list[:j] | 처음부터 j-1까지 슬라이싱 | numbers[:3] -> [1, 2, 3] |
| list[i:] | i부터 끝까지 슬라이싱 | numbers[2:] -> [3, 4, 5] |
| list[:] | 리스트 전체 요소 선택 | numbers[:] -> [1,2,3,4,5] |
리스트 값 변경하기
리스트명 [ 인덱스 ] = 값
ex) number[2] = 2
( number리스트에 있던 2번째 요소는 3이었지만 2로 변경됨)
다음 리스트에서 홀수만 출력하는 코드를 작성하세요.
# 제공 코드
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 답
for num in numbers:
if num % 2 != 0:
print(num)
🧩 리스트 조작 함수
| 함수 | 설명 | 사용 예시 |
| append(x) | 리스트 끝에 x 추가 | numbers.append(값) |
| insert(i, x) | i 위치에 x 삽입 | numbers.insert(위치, 값) |
| reverse() | 현재의 리스트를 그대로 거꾸로 뒤집음 | numbers.reverse() |
| pop(i) | i 위치의 요소 제거(기본 마지막) | numbers.pop() |
| remove(x) | x 값을 제거 | numbers.remove(삭제할값) |
| sort() | 리스트 오름차순 정렬 | numbers.sort() |
| sort(reverse=True) | 리스트 내림차순 정렬 | numbers.sort(reverse=True) |
| count(x) | x의 개수 반환 | numbers.count(찾을값) |
| index() | 리스트에 위치 값이 있으면 위치값을 반환 | number.index(값) |
리스트 [1, 2, 3, 4, 5]를 뒤집어서 [5, 4, 3, 2, 1]로 만드세요.
lst = [1, 2, 3, 4, 5]
lst.reverse()
print(lst)
# [5, 4, 3, 2, 1]
🧩 리스트 적용 내장 함수
| 연산자 | 의미 | 예시 |
| len(list) | 리스트의 길이 반환 | len(numbers) -> 5 |
| sum(list) | 리스트의 모든 요소의 합 반환 | sum(numbers) -> 15 |
| max(list) | 리스트에서 가장 큰 값 반환 | max(numbers) -> 5 |
| min(list) | 리스트에서 가장 작은 값 반환 | min(numbers) -> 1 |
리스트 내장 함수를 사용하여 제공된 리스트의 최대값, 최소값, 평균, 모든 요소의 합, 길이를 출력하세요.
# 제공된 코드
numbers = [4, 7, 1, 9, 3]
# 답
print(max(numbers)) # 9
print(min(numbers)) # 1
print(sum(numbers)) # 24
print(len(numbers)) # 5
⬇️딕셔너리 마스터하기
[Python] 자료형과 컬렉션 쉽게 마스터하기(딕셔너리) 🌟
Python에서 자료형과 컬렉션은 데이터를 효율적으로 저장하고 조작하는 데 필수적인 요소입니다. 지난 글에서는 리스트에 대해 다루었습니다. 이번에는 딕셔너리(Dictionary)에 대해 알아보겠습니
yiheeju.tistory.com
⬇️튜플과 시퀀스 마스터하기
[Python] 자료형과 컬렉션 쉽게 마스터하기(튜플과 시퀀스 자료형) 🌟
Python에서 자료형과 컬렉션은 데이터를 효율적으로 저장하고 조작하는 데 필수적인 요소입니다. 지난 글에서는 리스트와 딕셔너리에 대해 다루었습니다. 이번에는 튜플(Tuple)과 시퀀스 자료형(Se
yiheeju.tistory.com
'📚 [Archive] CS & AI 스터디 > [STUDY] Python 기초 🐍' 카테고리의 다른 글
| [Python] 자료형과 컬렉션 쉽게 마스터하기(튜플과 시퀀스 자료형) 🌟 (1) | 2024.12.23 |
|---|---|
| [Python] 자료형과 컬렉션 쉽게 마스터하기(딕셔너리) 🌟 (0) | 2024.12.23 |
| [Python] 반복문 easy하게 마스터하기(while, for)🪄 (1) | 2024.12.23 |
| [Python] if문 완벽히 정복하기 (4) | 2024.12.23 |
| [Python] 입력과 출력 (I/O) (0) | 2024.12.22 |