1. for in 반복문
for item in iterable:
반복할 명령어들
member를 하나씩 반환할 수 있는 object(객체), 즉 값을 하나씩 꺼낼 수 있는 객체
eg) list, dictionary, set, string, tuple, bytes 등
example = [1, 2, 3, 4, 5]
for num in example:
if num % 2 == 0:
print(num)
위의 코드는 example 리스트에서 짝수만 출력하는 코드이다.
example의 값이 하나씩 num이라는 변수에 저장되어 만약 num이 2로 나누어 떨어진다면 출력되는 것이다.
2. range
for i in range(5):
반복할 명령
range(시작 숫자, 끝 숫자, 증가량) 형태로 사용된다.
시작 숫자와 증가량은 조건을 설정해줄 필요가 없으면 이상 생략해도 괜찮다.
위의 코드는 0부터 시작해 4에서 끝남으로 총 5번 반복되고 종료된다.
nums = list(range(0, 5))
# 결과
[0, 1, 2, 3, 4]
range를 활용하여 list나 tuple 등을 생성할 수 있다.
nums = [i for i in range(5)]
# 결과
nums = [0, 1, 2, 3, 4]
이런 식으로도 배열 생성이 가능하다. 이것을 리스트 내포라고 한다.
3. enumerate
for item in enumerate(iterable):
반복할 명령
반복문을 사용하다 보면 몇 번째 반복문인지 확인이 필요한 경우가 있다. 이럴 때 enumerate를 사용하는 것이다. 2
enumerate는 index와 iterable의 원소를 tuple 형태로 반환한다.
nums = [1, 2, 3, 4]
for i, v in enumerate(nums):
print(f"index: {i}, value: {v}")
# 결과
index: 0, value: 1
index: 1, value: 2
index: 2, value: 3
index: 3, value: 4
위의 방법처럼 활용이 가능하다. print(f"") 이 방식을 f-string formatting이라고 하는데 python string formatting 중 한 방식이다. % formatting과 format()과의 차이가 궁금하다면 이 링크를 참조하길 바란다. 사용법이 궁금하다면 이 링크.
nums = [1, 2, 3, 4]
queue = [(i, v) for i, v in enumerate(nums)]
# 결과
queue = [(0, 1), (1, 2), (2, 3), (3, 4)]
위와 같이 배열 생성도 가능하다.
참고: https://wikidocs.net/16045
반응형
'Programming Language > Python' 카테고리의 다른 글
[Python] input과 sys.stdin.readline의 차이 (2) | 2021.12.10 |
---|---|
[Python] 삼항 연산자 (0) | 2021.10.22 |
[Python] 사칙연산 연산자 (0) | 2021.10.22 |
[Python] dictionary / 프로그래머스 숫자 문자열과 영단어 (0) | 2021.10.12 |
[Python] 배열 (0) | 2021.09.03 |
댓글