📌 오늘 학습 키워드
- 변수
- 리스트 (append, extend, insert, sort, reverse)
- 튜플 (count, index)
- 딕셔너리 (keys, values, items)
- 메서드
📖 오늘 학습한 내용을 나만의 언어로 정리하기
1️⃣ Print 함수
- 화면에 값을 출력하는데 사용한다.
- 괄호 안에 출력하고자 하는 값을 입력한다.
- 여러 값을 출력할 때는 쉼표로 구분한다.
2️⃣ 변수
- 어떠한 값을 담는 바구니
x = 10 / print (x) → 10이라는 숫자를 x에 담는다. x라는 변수에 10을 담았다. - 변수 선언 : 내가 원하는대로 변수 이름을 짓수, 넣고 싶은 값을 넣어주면 된다.
- 변수를 이용하면 출력을 할 수 있고, 계산을 할 수 있고, 계산한 값을 새로운 변수에 담을 수도 있다.
3️⃣ 변수의 자료형
- 정수 (int), 실수(float), 문자열(str), 리스트(list), 튜블(tuple), 딕셔너리(dict) 등이 있다.
- 정수 (int) : 딱 떨어지는 소수점으로 이뤄지지 않은 숫자
- 실수 (float) : 정수, 소수점으로 이뤄진 숫자, 딱 떨어지지 않는 숫자 등 우리가 생각하는 모든 숫자
- 정수와 실수를 구분해야 하는 상황이 있을 수 있다.
ex) 계산한 결과가 반드시 정수여야 하는 경우 : 개수를 구할 때 - type 함수를 사용하면 해당 변수가 어떤 자료형인지 알 수 있다.
- age = 25.0으로 변수값을 주었을 때, print(type(age))를 하면 float(실수)로 처리된다.
🔷 문자열
- 반드시 따옴표 안에 작성해야 한다.
- 문자열에 따옴표를 넣어야 하는 상황을 고려하여 작은/큰따옴표를 선택적으로 사용 가능하다.
- 여러 문자열을 합치고 싶은 경우, 문자열 연산 +를 사용하면 된다.
🔹문자열과 함께 쓰는 메서드 사용하기
ex) sentence = 'Python programming is fun'
print(sentence, upper()) → 대문자로 변환하여 출력
🔷 숫자열
- integer_division_result : num1 // 2 → 나눈 몫에 대한 값 출력
- reminder_result : num1 % num2 → 나머지 값 출력 (3의 배수를 찾아야 하는 경우에 이용할 수 있다.
ex) 3의 배수 찾기 → num1= 7, num2 =2, num1 % 3 = 0인 경우 찾기 - 메서드 활용하기 : abs(num) 절대값 계산 , round(num) 반올림 계산
- 어떤 연산이던 실수랑 한번 계산하면 실수 형태 (float)으로 나온다.
🔷 불리언
- 주어진 조건이 참(True) 또는 거짓(False)을 나타내는데 사용
- 조건식을 평가할 때 매우 중요. 데이터 분석에서 자주 활용
- 불리언 자료형을 변수에 선언하거나, 간단한 논리연산을 수행하는 방법으로 사용 가능하다.
🔷 NaN (결측값) = Not a Number
- 데이터에서 결측치(missing value)를 나타내는 특수한 값
- 정의할 수 없는 수치값
ex) 0으로 나누는 연산, 데이터 자체의 문제로 값이 담기지 않는 경우
🔷 입력문 INPUT
- 사용자가 특정 값을 입력할 수 있도록 입력창을 만들어 주는 것
- INPUT 함수를 쓰면 결과값이 항상 문자형(str)로 만들어진다.
4️⃣ 리스트 [ ]
- 파이썬에서 가장 자주 사용되는 데이터 구조
- 여러 항목들을 담을 수 있는 가변(mutable)한 시퀀스
- 대괄호를 사용하여 리스트로 만든다.
- 여러 값을 순서대로 담을 수 있다.
- 각 값은 쉼표로 구분되며, 대괄호 안에 들어간다.
<리스트의 기본 사용법>
🔷 인덱싱 (Indexing)
- 리스트에서 특정 값에 접근하거나 일부분을 추출하는 방법
numbers = [1, 2, 3, 4, 5]
first_number = numbers[0]
print ('First number :', first_number) → 결과값 : First number : 1
🔷 메서드
- 사용할 메서드 앞에 온점을 찍어준다.
-
- append(element): 리스트에 항목을 추가합니다.
→ 맨 뒤에 element 값이 추가된다. - extend(list element): 리스트에 다른 리스트의 모든 항목을 추가합니다.
→ 맨 뒤에 list element 값이 추가된다. - insert(index, element): 리스트의 특정 위치에 항목을 삽입합니다.
→ ex) 두 번째 위치에 값 삽입 : my_list.insert(2,10) → 결과값 : [1, 2, 10, 3, 4, 5] - remove(element): 리스트에서 특정 값을 삭제합니다.
→ 리스트에서 element 값 삭제 - pop(index): 리스트에서 특정 위치의 값을 제거하고 반환합니다.
→ index 번 째 위치한 값 제거하고 반환 - index(element): 리스트에서 특정 값의 인덱스를 찾습니다.
→ element의 인덱스 - count(element): 리스트에서 특정 값의 개수를 세어줍니다.
→ 리스트에서 element 와 동일한 값의 개수 - sort(): 리스트의 항목들을 정렬합니다.
- reverse(): 리스트의 항목들을 역순으로 뒤집습니다.
- append(element): 리스트에 항목을 추가합니다.
-
값을 제거하는 메서드 |
|||
메서드 / 구문 | 형식 | 예시 | 의미 |
remove (element) | 함수 호출 | list.remove(3) | element 값 삭제 |
pop (index) | 함수 호출 | list.pop(2) | index 위치의 값을 삭제하고 변수로 정의 |
clear () | 함수 호출 | list.clear() | 리스트 값 내 모든 항목 제거 |
del [index] | 구문 (Keyword) | del list[2] | index 위치의 값을 삭제 |
알아두면 좋은 점
( ) 와 [ ] 쓰임의 차이
1. ( )는 함수나 메서드를 호출하는 방법
- 함수나 메서드는 어떤 기능이나 작업을 수행하는 코드 덩어리다.
2. [ ] 를 사용하는 인덱싱/슬라이싱/삭제 구문의 개념
- 객체 내부의 특정 항목에 접근하는 문법이다.
del은 파이썬의 키워드다. (직접 값을 삭제하는 문장)
pop, remove, clear은 모두 리스트라는 객체에 포함된 메서드다.
항목 | ( ) 함수 / 메서드 호출 | [ ] 인덱싱 / 슬라이싱 |
역할 | 기능을 수행하는 코드 실행 | 데이터에 접근하거나 수정 |
사용 대상 | 함수, 메서드 | 리스트, 문자열, 딕셔너리 등 |
예시 | list.append(), print() | list[2], del list[2] |
내부 의미 | 값을 전달하고 실행함 | 특정 위치의 데이터에 접근 |
🔷 리스트 값 변경
ex) my_list[index] = 'dragonfruit' → index 위치의 값을 dragonfruit로 변경
🔷 중첩된 리스트에서 인덱싱하기
ex) nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(nested_list [1][0]) → 결과값 : 출력 4
🔷 실전 사용 예시 : 간단한 데이터 연산
grades = [ 85, 92, 87, 95, 80 ]
average_grade = sum(grades) / len(grades)
print('평균 성적 :' , average_grade)
✅ 리스트 고급 사용법
🔷 슬라이싱
- 리스트의 일부분을 추출하는 것
- 리스트에서 특정 범위의 항목을 선택하거나, 리스트를 자르는 작업을 할 수 있다.
- new_list = old_list [ start : end : step ]
- start : 어디서부터
- end : 어디까지
- step : 값을 몇 단계 건너뛰어서 가져올 때 ex) 짝수에 해당하는 숫자만 가져올 때 - 끝(end)에 입력할 인덱스는 내가 선택할 인덱스보다 +1을 해줘야 한다.
= 슬라이싱은 뒤에 적어준 값보다 한 칸 전까지 간다. - 슬라이싱을 활용하여 홀수/짝수 값만 구하기
ex) my_list = [10, 20, 30, 40, 50, 60, 70, 80, 90]
odd_index_value = my_list [ 1 : : 2 ]
🔷 정렬 sort
- sort 메서드를 호출하면 리스트 내의 항목들이 오름차순으로 정렬된다.
- 원래의 리스트를 변경하여, 새로운 정렬된 리스트를 반환하지 않는다.
- 내림차순 정렬 : my_list.sort(reverse = True)
5️⃣ 튜플 ( )
- 변경할 수 없는 (immutable) 시퀀스 자료형
- 리스트와 유사하지만 한 번 생성된 이후에는 요소를 추가, 삭제, 수정 불가능
- 데이터를 보호하고 싶을 때 주로 사용
- 소괄호를 사용하여 생성, 쉼표로 구분
🔷 메서드
- count (element) : 지정된 요소(element)의 개수를 반환
ex) my_tuple = (1, 2, 3, 4, 1, 2, 3)
count_of_1 = my_tuple.count(1)
print (count_of_1) → 결과값 : 2 (튜플에서 element 1의 개수) - index (element) : 지정된 요소(element)의 인덱스를 반환
ex) my_tuple = (1, 2, 3, 4, 1, 2, 3)
index_of_3 = my_tuple.index(3)
print(index_of_3) → 결과값 : 2 (튜플에서 element 3의 위치)
6️⃣ 딕서너리 { }
- 키(Key) + 값(Value) 쌍의 데이터를 저장하는 자료 구조
- 중괄호로 둘러 쌓여 있으며, 각 요소는 쉼표로 구분한다.
- 각 키(Key)는 유일해야 하지만, 값(Value)는 중복될 수 있다.
🔷 딕셔너리 기본기
- 다양한 용도로 활용 가능하다.
ex) 학생이름을 key로, 점수를 value로 하여 성적표를 만들 수 있다. - 판다스에서 데이터 프레임을 만들 때 표로 만들기에 유용하다.
- 딕셔너리는 리스트나 튜플과 달리 인덱스로 값을 찾아내는 것이 아니라, key로 찾아낸다
따라서, 키 정보만 알고 있으면 쉽게 데이터에 접근이 가능하다.
🔷 딕셔너리 메서드
- keys() : 모든 키를 dict_keys 객체로 반환한다.
- values() : 모든 값을 dict_values 객체로 반환한다.
- items() : 딕셔너리 안에 key-value가 어떻게 짝지어져 있는지 보여준다.
→ 딕셔너리 내 어떤 값들이 있는지 보여준다.
❌ 학습하며 겪었던 문제점 & 에러
1. 리스트의 길이 구하기 : len 함수
my_list = ['apple','banana','orange','grape']
len(my_list)
-- 4
리스트의 길이를 구하는 함수는 len 이다.
len ( ) 괄호 안에 리스트의 이름을 입력해주면 된다.
2. 리스트를 역순으로 출력하기 : [ : : -1 ], reverse( ) 함수
my_list = ['red', 'green', 'blue', 'yellow']
new_list = my_list [ ::-1]
print(new_list)
--
my_list = ['red', 'green', 'blue', 'yellow']
my_list.reverse()
print(my_list)
리스트를 역순으로 출력하는 방법에는 두 가지가 있다.
1) 슬라이싱 : 리스트의 일부분을 추출하는 것
new_list = old_list [ start : end : step ]
step 부분에 -1을 적어주면 리스트를 역순으로 출력할 수 있다.
2) reverse () 함수
리스트의 값들을 역순으로 정렬해주는 것
3. 튜플을 역순으로 출력하기
my_tuple = ('red', 'green', 'blue', 'yellow')
reversed_tuple = my_tuple[::-1]
print(reversed_tuple_
--
my_tuple = ('red', 'green', 'blue', 'yellow')
my_tuple_list = list(my_tuple_
reversed_list = my_tuple_list [::-1]
reversed_tuple = tuple(reversed_list)
print(reversed_tuple)
--
my_tuple = ('red', 'green', 'blue', 'yellow')
reversed_tuple = tuple(reversed(my_tuple)
print(reversed_tuple)
1) 슬라이싱 이용 : [::-1]
슬라이싱 기법 중 하나로 전체를 역순으로 가져오는 방법이다.
가장 간단하고 빠르며, 튜플을 바로 역순으로 만들 수 있다.
2) 리스트로 변환 후 역순 슬라이싱
튜플을 리스트로 바뀐뒤 슬라이싱으로 뒤집고 다시 튜플로 변환한다.
중간에 리스트로 변환해 조작이 가능하므로, 역순 외 다른 여러 작업을 추가로 할 때 유용하다.
단, 변환 과정이 추가되므로 직접 슬라이싱보다 조금 복잡하다.
3) reversed() 함수 사용
reversed()는 반복 가능한 객체를 역순으로 순회할 수 있도록 해주는 함수이다.
reversed(my_tuple)로 하면 역순으로 하나씩 꺼낼 수 있는 도구를 만들어주지만 아직 튜플은 아니다.
이 것을 튜플로 바꾸기 위해 tuple()을 씌워준다.
4. 딕셔너리에서 'age' 제거하기
my_dict = {'name': 'Charlie', 'age': 35, 'city': 'Chicago'}
del my_dict['age']
🎯 내일 학습할 내용
- 내일 오전 라이브 세션이 진행되기 전 위의 내용을 복습한다.
- 이후에는 라이브 세션 일정에 따라 진행한다.
'[스파르타 코딩클럽] 부트캠프' 카테고리의 다른 글
[Python] 조건문, 반복문 | 25.05.28 (수) TIL (2) | 2025.05.28 |
---|---|
[Python] 파이썬 기초 개념 : 조건문, 반복문, for문, while문 | 25.05.27 (화) TIL (3) | 2025.05.27 |
MySQL JOIN 이해하기 | 25.05.22 (목) (0) | 2025.05.22 |
MySQL Group by 이해하기 | 25.05.21 (수) (0) | 2025.05.21 |
MySQL Group by, Subquery, Having | 내일배움캠프 25.05.20 (화) TIL (0) | 2025.05.20 |