python for loop

초코바나나탕수육·2021년 11월 25일
0
post-thumbnail

오늘 글에서는 오랜 시간 나를 괴롭히던 python for문에 대하여 알아보겠습니다. 본인이 가장 어려워하는 문법이기도 하고 동시에 for문을 완벽히 숙지하고 싶은 마음에 진지하게 블로그를 작성하는 시간을 가져보겠습니다.
(다른분들은 알고리즘 풀면서 range도 쓰고 하시던데 나는 아직 적용하기가 너무 힘들었던 ㅜㅜ... 오늘 태준님께 질문해서 개념정립은 했지만 아직 내꺼!라고 하기엔 이른 감이 없지않아 있다. 설명해주시면서 쉽지않은 개념이라고까지 하셨으니,, 그래도 잘 정리하고 공부하자 !)


python for loop

for문은 list(혹은 다른 자료 구조)의 요소를 한번에 하나씩 가지고 원하는 로직을 실행할 수 있게 해주는 역할을 합니다. for문의 문법을 살펴봅시다.

for element in list:
	do_something_with_element

list의 요소(element)를 한번에 한개씩 가지고 for문 안에 있는 코드를 실행하게 됩니다.

(들여쓰기에 유의함은 필수입니다 !!) 또한 for문은 list뿐 아니라 tuple, set 등 다른 자료구조와도 사용할 수 있습니다.


break 와 continue

위에서 보았듯이 for문에서는 list가 가지고 있는 데이터의 수 만큼 for문에 속해있는 코드를 실행합니다(5개의 요소가 있다면 5번 반복). 그런데 모두 반복하기 전에 그만두고 싶을때가 있을 수 있습니다. 그럴때 break문을 사용하면 됩니다.

만약 break처럼 for문을 그만두고 싶지는 않지만 다음 요소로 넘어가고 싶을 때는
continue문을 사용하면 됩니다.


range

python 반복문을 통해 여러번 코드 수행을 할 수 있다. 일반적인 반복문과 같은 형태에는 range가 있는데 밑의 코드를 보며 알아보자

our_list = [];

for i in range(0, 5):
    our_list.append(i)

print(our_list) # [0,1,2,3,4]

range를 이용해서 0부터 4까지의 데이터를 리스트에 집어넣는 코드이다. 위에서 알 수 있듯이 range는 시작조건, 종료조건을 쓸 수 있다. (종료조건 뒤에 생략조건을 넣을 수 있는데, (0,5,2) 라면 0,2,4 가 출력된다.)

반복문은 거꾸로도 수행이 가능한데, 10부터 0까지 거꾸로 반복해서 짝수를 리스트에 넣고싶다면

our_list = []

for i in range(10, 0, -2):
	our_list.append(i)

print(our_list) # [10,8,6,4,2]

이런식으로 표현이 가능하다.


예제1

  • my_list의 요소의 총 합(total)을 리턴하는 list_loop함수를 완성해 주세요.
def list_loop():
    my_list = [2, 3, 4, 5, 6]

    total = 0
    for i in my_list:
      total = total + i

    return total

my_list 의 요소가 5개이므로 5번돌면서 한개씩 더해준다 !
따라서 total을 print해보면 20이 나온다


예제2

get_all_letters 함수를 작성하세요.

단어가 주어졌을때, get_all_letters 함수는 주어진 단어에 포함된 모든 문자를 담고 있는 배열을 반환합니다.

# example
output = get_all_letters('Radagast')
print(output) # ['R', 'a', 'd', 'a', 'g', 'a', 's', 't']
def get_all_letters():
    str_list = []
    mission_str = "wecode"

    for i in mission_str:
      str_list.append(i)
     
    return str_list # ['w', 'e', 'c', 'o', 'd', 'e']

0개의 댓글