예습이기 때문에 한번씩 짚고 넘어가기
변수의 종류 : 숫자열
사칙연산
| 사칙연산! 더하기 + 값을 더함 빼기 - 값으 뺌 곱하기 * 값을 곱함 나눗셈 / 연산자를 사용하면 실수로 결과가 반환 // 연산자를 사용하면 정수로 결과가 반환 % 로 나머지 연산이 가능 |
숫자열 함수와 메소드
| abs() 함수는 절댓값을 반환 round() 함수는 반올림한 값을 반환 |
정수형과 실수형의 차이
| 구분 | 정수형 (int) | 실수형 (float) |
| 의미 | 소수점이 없는 숫자 | 소수점을 포함한 숫자 |
| 자료형 | int | float |
| 표현 가능 값 | 1, 100, -5 | 3.14, -0.5, 2.71828 |
| 소수점 사용 | ❌ 불가능 | ⭕ 가능 |
| 연산 결과 | 항상 정수 | 소수점 이하 포함 가능 |
| 사용 예 | 개수, 횟수, 나이 | 평균, 비율, 점수 |
변수의 종류3 : 불리언(Boolean)
주어진 조건이 참(True) 또는 거짓(False)을 나타내는 변수이다.
# Boolean 변수 선언
is_raining = True
is_sunny = False
# 비교 연산자를 사용하여 Boolean 값 비교
x = 10
y = 5
greater_than = x > y
print(greater_than) # True 출력
리스트(List)란?
여러 개의 값을 한 묶음으로 관리하기 위한 자료형이다.
- 순서가 존재
- 값을 자유롭게 추가·삭제·변경 가능
- 여러 데이터를 담을수 있음
- 대괄호 [ ]를 사용하여 리스트 생성
# 1. 리스트 생성
my_list = [1, 2, 3, 4, 5]
# 2. 리스트의 기본 구조
print(my_list) # 출력: [1, 2, 3, 4, 5]
• 대괄호 [ ] - 여러 개의 값을 담는 자료형 이란 선언
• 쉼표 , - 각 값은 독립된 요소(element) 라는 의미
• 순서가 있다 - 1 → 2 → 3 → 4 → 5
리스트의 인덱싱
전에 배웠던것 기억하기....
인덱싱 = 번호
→ 리스트 안에서 “몇 번째 값인가”를 기준으로 접근하는 방법
my_list = [1, 2, 3, 4, 5]
my_list[0]
이 문장이 의미하는 건...
“리스트에서 0번째 위치에 있는 값을 가져와라”
→ my_list의 0번째에 있는 1 을 가져옴
리스트의 다양한 메소드
리스트 전용으로 준비된 다양한 기능들에 대해서 알아보자.
append / extend (값의 추가)
my_list.append(6)
my_list.extend([7, 8, 9])
• append - 리스트에 하나의 값(요소) 을 맨 뒤에 추가한다. (추가 객체는 1개)
• extend- 여러 개의 값을 풀어서 추가 → “리스트와 리스트를 이어 붙인다”란 개념으로 접근해도 좋다
insert (중간에 끼워 넣기)
my_list.insert(2, 10)
• 기존 순서를 유지하면서, 지정한 위치(index) 에 값을 삽입한다.
• 기존 값들은 오른쪽으로 한 칸씩 밀린다. 리스트의 전체 길이가 늘어난다.
remove vs pop (삭제의 관점 차이)
my_list.remove(3)
popped_value = my_list.pop(5)
• remove - 값을 기준으로 삭제 → 리스트에서 처음 등장한 값 하나만 제거
• pop - 위치를 기준으로 삭제
index / count (찾기)
my_list.index(4)
my_list.count(7)
• index - 특정 값이 처음 등장하는 위치를 알려준다. → “이 값이 처음 등장한 위치는 어디야?”
• count - 특정 값이 몇 번 등장하는지 세어준다. → “이 값이 몇 번 등장했어?”
sort / reverse (순서 조작)
my_list.sort()
my_list.reverse()
• sort - 리스트의 요소를 오름차순으로 정렬
• reverse - 현재 순서를 그대로 뒤집는다
❗ 이 두 메서드는 새 리스트를 만드는 게 아니라 기존 리스트 자체를 바꾼다 ❗
del / clear(리스트 삭제)
del my_list[0]
my_list.clear()
• del - 인덱스를 기준으로 동작, 특정 위치 하나만 제거
구조는 유지하되 리스트의 길이가 줄어듬
• clear - 리스트는 남기고, 내용만 싹 비움
한줄요약
- append / extend → 뒤에 추가 (하나 vs 여러 개)
- insert → 중간 개입
- remove / pop → 값 기준 vs 위치 기준
- index / count → 위치 찾기 vs 개수 세기
- sort / reverse → 원본 자체 변경
- del / clear → 부분 삭제 vs 전체 비우기
리스트 값 변경
리스트는 값을 바꿀수도 있다.
my_list[3] = 'dragonfruit'
이게 가능하다는 건, 같은 리스트를 유지하면서 내용만 계속 업데이트 가능 하단 의미
⭐데이터 전처리에서 매우 중요하니 기억할것⭐
중첩 리스트
nested_list = [[1,2,3],[4,5,6],[7,8,9]]
nested_list[1][0]
리스트 안에 또 하나의 리스트를 넣을수도 있다.
중첩 리스트는 이렇게 이해하자!
nested_list[1] - 두 번째 “리스트 묶음”
[0] - 그 안에서 첫 번째 값
합쳐서 보면...
nested_list[1][0] 두 번째 “리스트 묶음"에서 첫 번째 값
튜플이란?
여러 개의 값을 하나로 묶어 저장하는 자료형이다.
겉으로 보면 리스트와 거의 똑같아 보이지만, 가장 중요한 차이점....
❗ 튜플은 한 번 만들어지면 절대 바꿀 수 없다 (immutable)❗
프로그래밍을 함에 있어 “절대 바뀌면 안 되는 데이터”가 꽤 있는데
이런 데이트를 다룰때 튜플을 사용한다.
my_tuple = (1, 2, 3, 'hello', 'world')
• 소괄호 ( ) - 여러 개의 값을 담는 자료형 이란 선언
• 쉼표 , - 각 값은 독립된 요소(element) 라는 의미
• 순서가 있다 - 1 → 2 → 3 → 4 → 5
• 서로 다른 자료형도 함께 저장 가능
⭐ 생성 이후에는 구조도, 값도 바뀌지 않는다 ⭐
리스트 vs 튜플 (감각적으로)
| 구분 | 리스트 | 튜플 |
| 변경 가능 | O | ❌ |
| 추가/삭제 | 가능 | 불가능 |
| 용도 | 작업 중 데이터 | 고정 데이터 |
| 성격 | 작업용 | 보관용 |
| 비유 | 메모장 | 인쇄된 문서 |
튜플 인덱싱 & 슬라이싱
my_tuple[0]
my_tuple[-1]
my_tuple[2:4]
• List와는 다르게 읽는것만 가능하며, 수정은 불가능!
튜플에서 자주 쓰는 메소드
count()
my_tuple.count(1)
- 특정 값이 몇 번 등장했는지
index()
my_tuple.index(3)
- 특정 값이 처음 등장한 위치 확인
⭐“튜플은 찾을 수는 있지만, 고칠 수는 없다” ⭐
튜플은 정말 아무것도 못 바꿀까?
직접 변경은 할순 없지만, 새로운 튜플을 만드는것은 가능하다.
튜플→리스트로 변경, 리스트→튜플로 변경
list(my_tuple)
tuple(my_list)
“고정 데이터 → 작업 데이터 → 다시 고정”
실제 흐름 예시
• SQL 결과 → 튜플 (변경 금지)
• 가공 필요 → 리스트로 변환
• 가공 완료 → 튜플로 다시 묶기
딕셔너리란?
값을 위치(index)가 아니라, 이름(key)으로 관리하는 자료구조다.
즉, 순서가 아닌 '의미'로 데이터를 찾는다!
my_dict = {
'key1': 'value1',
'key2': 'value2',
'key3': 'value3'
}
딕셔너리의 기본
키(key)는 식별자다
• 키는 값의 이름표, 딕셔너리 안에서 유일해야 한다
값(value)은 뭐든 될 수 있다
•숫자
•문자열
•리스트
•튜플
•딕셔너리 조차 가능
순서가 목적이 아니다
딕셔너리는 “몇 번째냐”가 아닌 “무엇이냐”가 중요하다
값 수정 / 추가 / 삭제의 개념
grades['Bob'] = 95 # 수정
grades['David'] = 78 # 추가
del grades['Charlie'] # 삭제
이때
• 키가 있으면 → 수정
• 키가 없으면 → 추가
딕셔너리 에서 자주 쓰는 메소드
keys()
모든 키를 dict_keys 객체로 반환
my_dict.keys()
컬럼 목록 확인 느낌
values()
모든 값을 dict_values 객체로 반환
my_dict.values()
실제 데이터들만 모아서 보기
items()
모든 키-값 쌍을 (키, 값) 튜플로 구성된 dict_items 객체로 반환
my_dict.items()
(키, 값) 쌍으로 묶어서 제공
get()
지정된 키에 대한 값을 반환
만약, 키가 존재하지 않으면 기본값을 반환
my_dict.get('age')
pop() vs popitem()
my_dict.pop('city')
my_dict.popitem()
pop(): 지정된 키와 해당 값을 딕셔너리에서 제거하고 값을 반환
popitem(): 딕셔너리에서 마지막 키-값 쌍을 제거하고 반환
말 그대로 예습이기 때문에 정리가 미숙하고 어지러울순 있으나
본 학습에 들어갈때 더 높은 이해도를 위해 한번 짚고 넘어간다는 느낌으로 한것입니다.
'G.파이썬 > 파이썬 예습' 카테고리의 다른 글
| 파이썬 예습? (0) | 2026.01.02 |
|---|---|
| [파이썬 데이터 분석 입문] Chapter 05. 데이터 계산을 위한 연산자 (0) | 2026.01.02 |
| [파이썬 데이터 분석 입문] Chapter 04. 변수와 데이터 저장의 개념 (0) | 2026.01.02 |
| [파이썬 데이터 분석 입문] Chapter 03. 파이썬 기본 문법 빠르게 익히기 (0) | 2026.01.02 |
| [파이썬 데이터 분석 입문] Chapter 02.Google Colab으로 실습 환경 만들기 (0) | 2025.12.31 |
