7일차

Kangdh·2026년 8월 20일

파이썬 교육

목록 보기
7/33

i = 0
while i < 10:
print(i)
i += 1

와

for i in range(10):
print(i)

는 동일하다.

range(x,y,z)는 x는 시작, y는 종료, z는 증가다. 만약 range(1,10,2)라고 한다면 이는 1부터 10 미만까지 2씩 증가라는 뜻으로 해석할수 있는거같다.

list에 이름을 지을땐 복수형으로 이름을 짓는것이 좋다

enumerate는 반복가능한 객체를 다룰 때, 인덱스와 요소를 한꺼번에 불러오는 함수이다.

예를 들어

for d in range(len(days)):
print("{}월은 {}일까지".format(d+1,days[d]))
이런 코드가 있는데 이 코드에 enumerate를 사용하면

for d,days in enumerate(days):
print("{}월은 {}일까지".format(d+1,days))

이런식으로 조금 깔끔해진다.

인덱싱 / 슬라이싱

인덱싱: 인덱싱은 인덱스에 순서를 나타내는 의미이다.

슬라이싱 : 문자열[start:stop:step]
인덱스 번호를 사용하여 일정구간을 잘라내거나 일정구간만 추출 등을 할 수 있는 함수이다.

s = ['안','녕','하','세','요']
s[0:2]

if 파생

if or : or은 a조건과 b조건중 하나라도 만족하면 실행시킨다라는 뜻으로 쓰이는데, 이걸 if와 조합해서 쓰면 만약 a조건과 b조건중 하나라도 만족하면 실행이라는 뜻으로 쓰인다.

if and : and는 해당 조건들이 참일때 실행되는 코드인데 여기에 if를 붙이면 만약 이 조건들이 모두 만족하면 실행된다는 뜻이다.

리스트, 딕셔너리

  • 리스트 : a = [1,2,3,4]의 형태. 모든 자료형을 혼합할 수 있는 순서의 객체

a = [2,1,5,6,7]
for i in range(len(a)):
print(a[i])

a라는 리스트 안에 2,1,5,6,7의 값이 있고 for i in range(len(a))의 뜻은 i를 (len(a))-1의 값까지 증가라는 뜻인데 len(a)는 리스트 안 요소의 개수를 나타내는 함수이다.
그럼 i가 5-1일때까지 반복된다는 뜻으로 i 값이 지정되지 않았으니 0부터 4까지 반복되는 것이다.
그럼 밑에 있는 print(a[i])는 print(a[0])부터 print(a[4])까지 증가할테니 출력값은 list a의 0부터 4번째 자리 값인 2,1,5,6,7이 순차적으로 출력된다.

  • 딕셔너리 : a={
    "ㄱ":1,
    "ㄴ":2,
    "ㄷ":3,
    "ㄹ":4
    }의 형태. key와 value의 값으로 이루어져 있음

days = {
"1월" : 31,
"2월" : 28,
"3월" : 31
}

  • for month in days.keys():
    print("{}".format(month))
  • for day in days.values():
    print("{}".format(day))
  • for month,day in days.items():
    print("{} {}일".format(month,day))

첫번째 for문 부터 각각 "1월","2월","3월" 을 두번째는 31,28,31을 세번째는 1월 31일, 2월 28일 3월 31일을 출력하는 코드들이다.

여기서 keys()는 1월,2월,3월을 뜻한다. 이는 31,28,31일이라는 값들의 이름임을 알 수 있으며 values()는 key들의 값, items()은 key와 values 값을 한번에 묶어서 보내는 값임을 알 수 있다.

조금 더 나아가서 저런 딕셔너리에 값을 추가하거나 변경하고 싶을때는 .update()를 사용한다.

days = {
"1월" : 31,
"2월" : 28,
"3월" : 31
}
days.update({"2월":29,"4월" : 30,"5월" : 31})

라는 코드를 보면 days라는 딕셔너리에 2월의 value인 28을 29로 수정하고 "4월" : 30과 "5월" : 31을 추가하라는 내용의 코드이다.

.pop이라는 함수도 있는데 이 함수는 딕셔너리나 리스트에서 값을 꺼낸 후에 목록에서 제거하는 기능을 하는 함수이다

days = {
"1월" : 31,
"2월" : 28,
"3월" : 31
}
days.pop('3월') / del days['3월']

라는 코드는 딕셔너리에 있는 3월의 내용을 삭제하는 기능을 한다.

for()문 부터 딕셔너리까지

  • 지금까지 배우면서 어려웠던건 생각보다 다양한 곳에 함수들을 붙일수 있다는 것이다. 보다보면 이걸 여기도 쓸수있네 싶을 때가 있었는데 함수,반복문과 더불어 같이 쓰려니 더욱이 헷갈린다. 그리고 문제 해설을 보다보면 1차원적으로 생각해야 풀리는 문제들도 있는거같은데 항상 그보다 더 어렵게 생각하여 막힐때가 꽤 있어서 계속해서 코드를 입력하기 전에 메모장을 열어두고 그 문제를 어떻게 풀것인지 한글로 메모하며 푸는 습관을 만들어 나가야겠다.
    그리고 코드에 더 익숙해져야할거같다..

0개의 댓글