Python은 for in
키워드를 사용하여 반복문을 구현할 수 있습니다. 이 때, 필요에 따라 range()
, enumerate()
를 적절히 사용할 수 있습니다.
1. for in : 반복문으로 리스트의 모든 내용 출력
예를 들어, 다음과 같이 for in
을 사용하여 리스트의 모든 내용을 출력할 수 있습니다.
item_list = [1, 2, 3, 4, 5]
for item in item_list:
print(item)
Output:
1
2
3
4
5
List뿐만 아니라 다음과 같이 다양한 타입에 사용할 수 있습니다.
- List
- Tuple
- String
- Dict
String의 모든 문자 순회
for ch in 'abcde':
print(ch)
Output:
a
b
c
d
e
Tuple의 모든 요소 순회
item_tuple = (1, 2, 3, 4, 5)
for item in item_tuple:
print(item)
Output:
1
2
3
4
5
Dict의 모든 요소 순회
Dictionary 같은 경우는 다음과 같이 key를 순회하고 item_dict[key]
와 같은 방법으로 value에 접근할 수 있습니다.
item_dict = {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}
for key in item_dict:
print('k: {}, v: {}'.format(key, item_dict[key]))
Output:
k: 1, v: a
k: 2, v: b
k: 3, v: c
k: 4, v: d
k: 5, v: e
또는 다음과 같이 keys()
함수를 사용하여 명시적으로 key만 순회할 수 있습니다.
for key in item_dict.keys():
print('k: {}, v: {}'.format(key, item_dict[key]))
만약 key와 value를 함께 순회하고 싶다면 다음과 같이 items()
함수를 호출하여 iterable한 값이 리턴되도록 만들면 됩니다.
for key, value in item_dict.items():
print('k: {}, v: {}'.format(key, value))
2. Range : 원하는 횟수만큼 순회
range()
는 원하는 횟수만큼 for 루프를 순회할 수 있도록 도와줍니다.
예를 들어, range(5)
는 0에서 4까지의 값을 담고 있는 Collection을 리턴합니다.
다음과 같이 range를 사용하면 5번 순회하는 for-loop를 쉽게 만들 수 있습니다.
for item in range(5):
print(item)
range에 대해서 기억해야할 내용은 다음과 같습니다.
- range는
range(start_value, end_value, step)
으로 인자를 전달할 수 있으며, start_value와 step은 생략할 수 있습니다. - range는
start_value
를 포함하고,end_value
를 포함하지 않는 수열을 리턴합니다. - 시작숫자를 생략하면 0, step을 생략하면 1로 설정됩니다.
range() 예제
다음 코드는 2에서 4까지의 숫자를 출력합니다.
for item in range(2, 5):
print(item)
Output:
2
3
4
다음은 5부터 19 사이의 숫자 중에, 5부터 5의 간격 마다 숫자를 출력합니다.
for item in range(5, 20, 5):
print(item)
Output:
5
10
15
3. Enumerate : Collection을 index가 포함된 Tuple로 리턴
enumerate()
는 인자로 전달되는 Collection을 index와 함께 Tuple 형태로 리턴합니다.
다음과 같은 코드를 실행하면 index와 리스트의 value가 함께 출력이 됩니다.
item_list = [1, 2, 3, 4, 5]
for item in enumerate(item_list):
print(item)
Output:
(0, 1)
(1, 2)
(2, 3)
(3, 4)
(4, 5)
다음과 같이 index와 value를 함께 순회할 수도 있습니다.
for (idx, value) in enumerate(item_list):
print('index: {}, value: {}'.format(idx, value))
Output:
index: 0, value: 1
index: 1, value: 2
index: 2, value: 3
index: 3, value: 4
index: 4, value: 5
Related Posts
- Python 소수점 반올림, round() 예제
- 파이썬 주석 처리, 단축키 소개
- Python - String isdigit(), 문자열이 숫자인지 확인
- Python 소수점 버림, 4가지 방법
- Python - Text 파일 읽고 쓰는 방법 (read, write, append)
- Python - String Formatting의 다양한 방법 정리(%, Str formatting, f-stirng)
- Python - os.path.join(), 폴더와 파일명으로 Path 생성
- Python - 파일을 읽고 한 줄씩 리스트에 저장
- Python - 문자열에서 줄바꿈(\n) 제거, 3가지 방법
- Python - Switch Case 구현 방법 (Match Case)
- 우분투에 Python 3.10 설치하는 방법
- Python - 문자열에서 특정 문자 제거, 3가지 방법
- Python - 함수 정의 및 호출 방법
- Python - 딕셔너리 정리 및 예제
- Python - 딕셔너리 초기화, 4가지 방법
- Python - input() 함수로 데이터 입력 받기
- Python - Tuple 사용 방법
- Python - String startswith(), 어떤 문자열로 시작하는지 확인
- Python - 날짜에서 월 이름 가져오기(숫자 -> 영어 이름 변환)
- Python - 어떤 날짜가 몇 주차인지 확인
- Python - D-Day 계산, 몇일 남았는지 날짜 세기
- Python - 날짜가 무슨 요일인지 계산
- Python - 어떤 날짜가 주말인지, 평일인지 확인
- Python - XML 생성 및 파일 저장
- Python - 특정 월의 시작 날짜, 마지막 날짜 얻기
- Python - XML 파싱, 태그 또는 요소 별로 읽기
- Python 버전 확인 방법 (터미널, cmd 명령어)
- Python - Selenium에서 웹페이지의 제목 가져오는 방법
- Python - 디렉토리, 파일 사이즈 계산
- Python 버전 확인 방법 (스크립트 또는 Command line)
- Python - 함수에서 두개 이상의 값 리턴
- Python - CSV 파일 읽기, 쓰기
- Python - 코드 실행 시간 측정
- Python - 디폴트 매개변수(Default parameters)
- Python - filter() 사용 방법 및 예제