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 - Yaml 파일 파싱하는 방법
- Python - 파일 내용 삭제
- Python - for문에서 리스트 순회 중 요소 값 제거
- Python - 두 리스트에서 공통 요소 값 찾기
- Python - 문자열 앞(뒤)에 0으로 채우기
- Python - 공백으로 문자열 분리
- Python - 중첩 리스트 평탄화(1차원 리스트 변환)
- Python - 16진수 문자열을 Int로 변환
- Python - 두 날짜, 시간 비교
- Python f-string으로 변수 이름, 값 쉽게 출력 (변수명 = )
- Python - nonlocal과 global 사용 방법
- Python 바다코끼리 연산자 := 알아보기
- Python - pip와 requirements.txt로 패키지 관리
- Python - 딕셔너리 보기 좋게 출력 (pprint)
- Python - Requests 사용 방법 (GET/POST/PUT/PATCH/DELETE)
- Python - 온라인 컴파일러 사이트 추천
- Python - os.walk()를 사용하여 디렉토리, 파일 탐색
- Python - 문자열 비교 방법
- Python - Text 파일 읽고 쓰는 방법 (read, write, append)
- Python - 리스트에서 첫번째, 마지막 요소 가져오는 방법
- Python - 두개의 리스트 하나로 합치기
- Python - 리스트의 마지막 요소 제거
- Python - 리스트의 첫번째 요소 제거
- Python 소수점 버림, 4가지 방법
- Python 코드 안에서 버전 확인 방법
- Python 소수점 반올림, round() 예제
- Python - 리스트 평균 구하기, 3가지 방법
- Python - bytes를 String으로 변환하는 방법
- Python - String을 bytes로 변환하는 방법
- Python 버전 확인 방법 (터미널, cmd 명령어)
- Python - 람다(Lambda) 함수 사용 방법
- Python - dict 정렬 (Key, Value로 sorting)
- Python - range() 사용 방법 및 예제
- Python - 리스트를 문자열로 변환
- Python - 문자를 숫자로 변환 (String to Integer, Float)