반응형
Day 1: 리스트의 기본 개념
- 강의 내용:
- 리스트의 개념
- 리스트의 정의와 특징
- 리스트와 배열의 차이점
- 리스트의 기본 사용법
- 리스트 생성 및 초기화
- 리스트 요소 접근 및 수정
- 리스트의 개념
- 실습:
- 리스트 생성 및 요소 접근
# 리스트 생성 및 초기화
fruits = ["apple", "banana", "cherry"]
numbers = [1, 2, 3, 4, 5]
# 리스트 요소 접근 및 수정
print(fruits[0]) # 'apple'
fruits[1] = "blueberry"
print(fruits) # ['apple', 'blueberry', 'cherry']
Day 2: 리스트 메서드 I
- 강의 내용:
- 리스트 메서드
- append(): 리스트 끝에 요소 추가
- insert(): 특정 위치에 요소 추가
- remove(): 특정 요소 제거
- pop(): 특정 위치의 요소 제거 및 반환
- 리스트 메서드
- 실습:
- 리스트 메서드를 사용한 다양한 예제
# append() 메서드
fruits = ["apple", "banana", "cherry"]
fruits.append("orange")
print(fruits) # ['apple', 'banana', 'cherry', 'orange']
# insert() 메서드
fruits.insert(1, "blueberry")
print(fruits) # ['apple', 'blueberry', 'banana', 'cherry', 'orange']
# remove() 메서드
fruits.remove("banana")
print(fruits) # ['apple', 'blueberry', 'cherry', 'orange']
# pop() 메서드
popped_fruit = fruits.pop(2)
print(popped_fruit) # 'cherry'
print(fruits) # ['apple', 'blueberry', 'orange']
Day 3: 리스트 메서드 II
- 강의 내용:
- 리스트 메서드
- sort(): 리스트 정렬
- reverse(): 리스트 요소 순서 반전
- count(): 특정 요소의 개수 세기
- index(): 특정 요소의 인덱스 반환
- 리스트 메서드
- 실습:
- 리스트 메서드를 사용한 다양한 예제
# sort() 메서드
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5]
numbers.sort()
print(numbers) # [1, 1, 2, 3, 4, 5, 5, 6, 9]
# reverse() 메서드
numbers.reverse()
print(numbers) # [9, 6, 5, 5, 4, 3, 2, 1, 1]
# count() 메서드
count_of_ones = numbers.count(1)
print(count_of_ones) # 2
# index() 메서드
index_of_five = numbers.index(5)
print(index_of_five) # 2
Day 4: 리스트 슬라이싱
- 강의 내용:
- 리스트 슬라이싱
- 슬라이싱의 기본 개념
- 슬라이싱을 사용한 리스트 부분 추출
- 슬라이싱의 응용
- 리스트 복사
- 리스트의 부분 수정
- 리스트 슬라이싱
- 실습:
- 다양한 슬라이싱 예제 작성
# 리스트 슬라이싱
fruits = ["apple", "banana", "cherry", "date", "elderberry"]
print(fruits[1:4]) # ['banana', 'cherry', 'date']
print(fruits[:3]) # ['apple', 'banana', 'cherry']
print(fruits[2:]) # ['cherry', 'date', 'elderberry']
# 리스트 복사
copy_of_fruits = fruits[:]
print(copy_of_fruits) # ['apple', 'banana', 'cherry', 'date', 'elderberry']
# 리스트의 부분 수정
fruits[1:3] = ["blueberry", "cranberry"]
print(fruits) # ['apple', 'blueberry', 'cranberry', 'date', 'elderberry']
Day 5: 리스트 컴프리헨션
- 강의 내용:
- 리스트 컴프리헨션의 개념
- 리스트 컴프리헨션의 정의와 기본 구조
- 리스트 컴프리헨션을 사용한 리스트 생성
- 리스트 컴프리헨션의 응용
- 조건을 포함한 리스트 컴프리헨션
- 리스트 컴프리헨션의 개념
- 실습:
- 다양한 리스트 컴프리헨션 예제 작성
# 기본 리스트 컴프리헨션
squares = [x**2 for x in range(10)]
print(squares) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# 조건을 포함한 리스트 컴프리헨션
evens = [x for x in range(10) if x % 2 == 0]
print(evens) # [0, 2, 4, 6, 8]
# 중첩 리스트 컴프리헨션
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = [num for row in matrix for num in row]
print(flattened) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
Day 6: 리스트의 복사와 참조
- 강의 내용:
- 리스트 복사
- 얕은 복사와 깊은 복사
- 복사의 필요성과 주의점
- 리스트 참조
- 리스트 참조의 개념과 주의점
- 리스트 복사
- 실습:
- 얕은 복사와 깊은 복사 예제 작성
import copy
# 얕은 복사
fruits = ["apple", "banana", "cherry"]
shallow_copy = fruits[:]
shallow_copy.append("date")
print(fruits) # ['apple', 'banana', 'cherry']
print(shallow_copy) # ['apple', 'banana', 'cherry', 'date']
# 깊은 복사
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
deep_copy = copy.deepcopy(matrix)
deep_copy[0][0] = 0
print(matrix) # [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(deep_copy) # [[0, 2, 3], [4, 5, 6], [7, 8, 9]]
# 리스트 참조
original = [1, 2, 3]
reference = original
reference.append(4)
print(original) # [1, 2, 3, 4]
print(reference) # [1, 2, 3, 4]
Day 7: 리스트 종합 연습 및 프로젝트
- 강의 내용:
- 리스트 종합 연습 문제 풀이
- 다양한 리스트 작성 및 조작 문제
- Q&A 세션
- 미니 프로젝트
- 주제 선정 및 프로그램 설계
- 리스트를 활용한 프로그램 구현 및 테스트
- 리스트 종합 연습 문제 풀이
- 실습:
- 종합 연습 문제 풀기
- 미니 프로젝트 작성 및 발표
# 연습 문제 1: 리스트의 요소를 역순으로 출력하는 함수 작성
def reverse_list(lst):
return lst[::-1]
print(reverse_list([1, 2, 3, 4, 5])) # [5, 4, 3, 2, 1]
# 연습 문제 2: 리스트의 중복 요소를 제거하는 함수 작성
def remove_duplicates(lst):
return list(set(lst))
print(remove_duplicates([1, 2, 2, 3, 4, 4, 5])) # [1, 2, 3, 4, 5]
# 연습 문제 3: 리스트의 요소를 제곱하여 새로운 리스트를 반환하는 함수 작성
def square_list(lst):
return [x**2 for x in lst]
print(square_list([1, 2, 3, 4, 5])) # [1, 4, 9, 16, 25]
# 미니 프로젝트 예제: 학생 성적 관리 프로그램
def add_student(students, name, score):
students.append({"name": name, "score": score})
def remove_student(students, name):
students[:] = [student for student in students if student["name"] != name]
def print_students(students):
for student in students:
print(f"Name: {student['name']}, Score: {student['score']}")
students = []
add_student(students, "Alice", 85)
add_student(students, "Bob", 90)
add_student(students, "Charlie", 78)
print_students(students)
remove_student(students, "Bob")
print_students(students)
이 강의는 파이썬의 리스트를 익히는 것을 목표로 하며, 각 강의는 이론과 실습을 포함합니다. 다음 주차에 대한 상세 강의를 원하시면 말씀해 주세요!
반응형
'-----ETC2----- > Python' 카테고리의 다른 글
[Python] Week 9: 딕셔너리 (0) | 2024.06.01 |
---|---|
[Python] Week 8: 튜플 (0) | 2024.06.01 |
[Python] Week 6: 고급 함수 (0) | 2024.06.01 |
[Python] Week 5: 함수 정의 및 호출 (0) | 2024.06.01 |
[Python] Week 4: 반복문 (0) | 2024.06.01 |