History
home
BDA 연혁
home

- 중첩루프, 리스트와 튜플 응용

중첩루프란 무엇인가?
중첩루프 이해하기
중첩루프 코드 뜯어 이해하기
중첩루프의 작동 원리 이해하기
중첩루프로 다양한 별 그리기
리스트와 튜플 응용
리스트의 기본 조작어 배우기
추가, 삭제, 정렬, 뒤집기, 슬라이싱, 할당, 복사,
for 문을 이용한 리스트 접근법
(튜플도 동일하게 적용)
리스트 표현식 (list comprehension)
리스트 표현식의 이해
리스트 표현식 코드 뜯어 이해하기
리스트 표현식 안에 if문
리스트 표현식 안에 map, split 사용
수업 예시 코드
# 예시 코드 # while 문을 이용해서 만들어 보기! i = 0 while i < len(ab): j = 0 while j < len(ab[i]): print(ab[i][j], end=' ') j +=1 print() i +=1 # 복습도 수업과정 그대로 복붙이 아니라 조금씩 바꿔보면서 코드를 이해하고, 원리를 이해해야 합니다. #for range 가지고 ab 다 불러오기 for i in range(len(ab)): for j in ab[i]: print(j, end=' ') print() # 곱셈 표 생성 for i in range(1, 6): for j in range(1, 11): result = i * j print(f"{i} * {j} = {result}", end="\t") print() # 중첩루프를 이용해 별그리기 row = 1 while row <= 5: col = 1 while col <= row: print("*", end=" ") col += 1 print() row += 1 # 조건에 따라 요소 필터링 scores = [92, 88, 94, 78, 90, 85, 88, 96, 89, 82] passing_scores = [score for score in scores if score >= 80] scaled_scores = [score * 1.1 for score in scores] # 각 요소에 함수 적용 average_score = sum(scores) / len(scores) # 평균 점수 계산 sorted_scores_asc = sorted(scores) # 리스트 정렬 scores.reverse() # 리스트 뒤집기 # 특정 값 제거 (예: 모든 88 제거) scores_without_88 = [score for score in scores if score != 88] # 리스트를 튜플의 리스트로 묶기 names = ['Alice', 'Bob', 'Charlie', 'David'] ages = [25, 30, 22, 35] salaries = [60000, 80000, 55000, 90000] employee_data = list(zip(names, ages, salaries)) # 조건에 따라 튜플 필터링 filtered_employees = [(name, age) for name, age, salary in employee_data if salary > 60000] # 나이를 기준으로 튜플 내림차순 정렬 sorted_employees = sorted(employee_data, key=lambda x: x[1], reverse=True) # 정렬된 튜플을 각각의 리스트로 풀기 sorted_names, sorted_ages, sorted_salaries = zip(*sorted_employees) # 리스트 컴프리헨션(split) text = "Python문법은 간결합니다." word_lengths = [len(word) for word in text.split()] # 각 단어의 길이를 구하기 # 각 단어의 첫 글자를 대문자로 변환하기 capitalized_words = [word.capitalize() for word in text.split()] # 각 단어의 마지막 글자만 추출하기 last_letters = [word[-1] for word in text.split()] # 리스트 컴프리헨션(map) numbers = [1, 2, 3, 4, 5] squared_numbers = list(map(lambda x: x**2, numbers)) # 각 숫자를 제곱하기 string_numbers = list(map(str, numbers)) # 각 숫자를 문자열로 변환하기 numbers_plus_ten = list(map(lambda x: x + 10, numbers)) # 각 숫자에 10을 더하기
Python
복사