반응형

안녕하세요

 

스터디에서 같이 공부한 내용을 정리하고자 글을 쓰게 되었습니다~

 

도움되셨으면 좋겠네요!

 

본 글에 나와있는 코드들을 직접 쳐보고 실행시키면서

 

여러가지로 꼬아가며 다양한 실험을 반복하시면 

 

어느새 파이썬이 익숙하고 재밌으실 겁니다~! 화이팅!

 

참고로 중간 중간 걸려있는 링크들은 글을 읽으시면서 모르는 함수, 문법 등이 나왔을 때 들어가셔서

글에 나온 정도만 이해하실 수 있으면 됩니다. (꼼꼼하게 보실 필요 없어요!)

 

1. 파이썬 반복문 - for문 (기초)

 

 (2) List 이용

  ① List의 원소에 직접적으로 접근하는 for문 사용법

 

 저번 시간에는 for - range 문법을 사용하여 리스트의 인덱스에 접근하는 방법을 알아보았는데요.

이번 시간에는 리스트의 인덱스가 아닌 리스트 원소 자체를 for문을 이용해 접근해 보겠습니다!

for - range 문 보다 훨씬 간단하고 명료하기에 이해하기 수월하실 겁니다.

 

Lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 리스트 선언

for i in Lst : # i 리스트의 원소가 차례대로 들어감
    print(i, end = ' ') # 출력

 이게 전부입니다! 여기까지 활용하실 수 있으면, for문을 사용하는 기초적인 방법은 마스터 하신 겁니다.

다음 내용은 for문을 효율적으로 쓸 수 있는 방법론에 대한 이야기 이기에, 지금 당장 완벽하게 이해하실 필요는 없습니다.

 

추가적으로 for문을 중간에 탈출 혹은 생략해야 할 때 가 생기는데요. 

이때는 아래와 같이 "continue" / "break" 중 하나를 선택하여 활용하시면 됩니다.

 

 

# break 활용법

for i in range(1, 1000) :
    print(i, end = ' ')
    
    if i > 100 :
        break  # for문 전체를 탈출하게 됩니다!

위와 같이 break문은 "특정 조건에서 for문을 탈출할 때" 쓰입니다.

# continue 활용법

for i in range(1, 100) :
    if i%2 == 1 : # i가 홀수일 경우 아래 문장을 생략 후 바로 넘어갑니다.
        continue
        
    print(i, end = ' ')

위와 같이 continue문은 "특정 조건에서 for문을 다음으로 바로 넘어갈 때" 쓰입니다.

 

 

 

  ② List의 원소에 직접적으로 접근하는 for문 사용법 -> zip 의 활용

 

 for 문을 돌릴 때, zip 함수를 이용하면 두 리스트의 원소에 대하여 동시 접근이 가능한데요.

lst_1 = [1, 2, 3, 4] # 리스트 1 선언
lst_2 = ['가', '나', '다', '라'] # 리스트 2 선언

for i, j in zip(lst_1, lst_2) : # lst_1, lst_2에 대해 zip합수 활용
    print(i, j) # i는 lst_1의 원소 / j는 lst_2의 원소

이를 이용하면, 백준 3003번을 효율적으로 해결할 수 있습니다. (3003번 풀이 : https://study-all-night.tistory.com/65 )

 

 

 

  ③ List의 원소와 인덱스에 동시에 접근하는 Enumerate 문 사용법

 

 가끔 알고리즘 문제를 해결하시다 보면, 리스트의 인덱스와 원소에 동시 접근 해야할 때가 오실 겁니다.

이때, Enumerate를 활용하시면 이를 효과적으로 해결하실 수 있습니다.

students = ['철수', '영희', '길동', '수영', '짱구'] # 학생 리스트

for idx, i in enumerate(students) : # enumerate를 사용하여 인덱스, 원소 동시 접근
    print(idx, i) # idx : 인덱스 / i : 원소

   위의 경우 처럼 enumerate(리스트) 를 사용하시면 그 인자로 (인덱스, 원소)를 순서대로 사용하실 수 있습니다!

생각보다 자주 사용하니 코드를 직접 쳐보시고 응용하시면 좋을 것 같네요 :)

 

여기까지 for문에 대한 대부분의 내용을 다루었구요. 다음 시간에는 while 문에 대해 간략하게 설명하도록 하겠습니다.

반응형