[혼공학습단 13기] 3주차 과제

양승빈·2025년 1월 28일
0

혼공학습단 13기

목록 보기
5/9
post-thumbnail

chill chill 맞게 지각해버렸어...


3주차 과제

  • 기본 과제: 리스트, 딕셔너리, 범위 자료형에 대해 이해한 내용을 바탕으로 정리하기
  • 추가 과제: p.213 1번 문제 답 쓰고 인증하기

1. 리스트

  • (정의) 자료를 저장할 수 있는 자료
  • (형식) [요소 1, 요소 2, 요소 3]
    • [대괄호] 사용
    • 사용 가능 자료형: object, in, float, bool, list, dictionary
  • (특징) 인덱스 기반 자료형 (리스트 내부 요소의 위치를 의미)
  • (관련 함수)
구분함수형태설명특이사항
추가append()list.append(value)리스트 뒤 요소 추가
insert()list.insert(index, value)리스트 내 특정 위치 요소 추가
제거deldel list[index]리스트 내 특정 위치 요소 제거
pop()list.pop(index)리스트 내 특정 위치 요소 제거index default = -1
remove()list.remove(value)리스트 내 특정 값 제거()중복 값 존재시 처음 값 제거
clear()list.clear()리스트 내부 요소 전체 제거
정렬sort()list.sort()리스트 요소 정렬default = 오름차순 (reserve=False)
확인invalue in list리스트 내 값 존재 확인참인 경우 True, 거짓인 경우 False 반환
not invalue not in list리스트 내 값 존재 확인in 연산자와 반대로 동작

2. 리스트와 반복문

  • (형식)
for 반복자 in 반복할 수 있는 것:
	code 
  • (예시)
# 중첩 리스트와 중첩 반복문 

list_of_list = [
    [1,2,3],
    [4,5,6,7],
    [8,9]
] # 2차원 중접 리스트 

# 2차원 리스트 내 요소 개별 출력문 
for list_a in list_of_list:
    for element in list_a:
        print(element)
  • (구조)
  • (특이사항)
    ① list_of_list = 2차원 리스트
    ② list_a = list_of_list의 요소(1차원 리스트)
    ③ element = list_a의 요소

3. 딕셔너리

  • (정의) 자료를 저장할 수 있는 자료
  • (형식) {key1:value1, key2:value2}
    • {중괄호} 사용
    • 사용 가능 자료형: object, float, int, bool, list, dictionary
  • (특징) key 기반 자료형
  • (접근 방식)
구분선언 형식예시주의사항
listlist = []list[1]-
dictdict = {}dict['name']요소 접근 시 [대괄호] 사용
  • (관련 함수)
구분형태설명
추가/대체dict['new key'] = new valuekey를 기반으로 같이 입력된 value로 새롭게 추가/대체 가능
삭제del dict['new key']지정된 key에 포함되는 요소 삭제

4. 범위 자료형

  • (형식) range(a,b,c)
  • (예시)
# (p.234) for 반복문과 범위 

# (형태 1) range(a)
for i in range(3)
>>> 0 1 2 

# (형태 2) range(a,b)
for i in range(5, 10):
>>> 5 6 7 8 9 

# (형태 3) range(a,b,c)
for i in range(0, 11, 5)
>>> 0 5 10
  • (활용) 으.. 피라미드 시러요...
for i in range(1, 10):
    for j in range(0, i):
        print("★", end="")
    print()
★
★★
★★★
★★★★
★★★★★
★★★★★★
★★★★★★★
★★★★★★★★
★★★★★★★★★

다시 찾아오겠습니다... 이렇게 하면 할 수 있대요...


5. while 반복문

  • (형식) while bool 표현식:
  • (특징) 보통 for 반복문으로 구현하지 못하는 경우일 때 사용(조건, 무한 반복 등)
  • (관련 키워드)
구분keyword형태설명
탈출break반복문 내 위치반복문을 벗어날 때 사용
countinue반복문 내 위치현재 반복을 생략하고. 다음 반복으로 넘어갈 때 사용
  • (예시) 1부터 10000까지의 합 구하기
# (p.248) 확인문제 3
limit = 10000 # 제한 수치 설정
i = 1 # 기본 값 설정  
sum_value = 0 # 합계 기본 값 설정 

while i < 10000: # while 조건문 설정 
    sum_value += i  # 매 회차마다 늘어난 i 덧셈 
    i += 1 # 매 반복 회차 마다 증가 
    if sum_value > limit: # sum_value가 limit을 넘는 경우 정지 
        break
print(f"{i-1}를 더할 때 {limit}을 넘으며 그때의 값은 {sum_value}입니다.")
>>> 141를 더할 때 10000을 넘으며 그때의 값은 10011입니다.
  • (특이사항) 답안과는 다르지만 매 반복 회차마다 i의 크기가 1씩 커지며, 늘어난 i는 기존의 sum_value와 합쳐진다. 계속 반복되는 해당 구문은 sum_value가 limit을 넘어서는 순간 멈추고 while문을 빠져나와 print문이 작동된다.

6. 문자열, 리스트, 딕셔너리, 관련 함수

  • (관련 함수)
구분함수형태설명
리스트min()min(list)리스트 내 최솟값 탐색
max()max(list)리스트 내 최댓값 탐색
sum()sum(list)리스트 내 값 합계 산출
reverse()reverse(list)리스트 내 요소 순서 역배열
enumerate()enumerate(list)리스트 요소 정보 탐색
items()dict.items()딕셔너리 내 정보 탐색

7. 추가 과제

list_a = [0, 1, 2, 3, 4, 5, 6, 7]입니다. 다음 표의 함수들을 시행했을 때, list_a의 결과가 어떻게 나오는지 적어 보세요

함수list_a 값설명
list_a.extend(list_a)[0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7]list_a 내 list_a 요소 추가
list_a.append(10)[0,1,2,3,4,5,6,7,10]list_a 마지막에 요소 추가
list_a.insert(3, 0)[0,1,2,0,3,4,5,6,7]list_a 내 지정된 인덱스에 요소 추가
list_a.remove(3)[0,1,2,4,5,6,7]list_a 내 지정된 요소 삭제
list_a.pop(3)[0,1,2,4,5,6,7]list_a 내 지정된 인덱스 요소 삭제
list_a.clear()[]list_a 요소 전체 삭제

<작성 코드>

  • 문제와 답이 살짝 다릅니덩. list_a 초기화 안하고 계속 함수 사용했심덩. 참고하십숑

0개의 댓글

관련 채용 정보