파이썬 파트7. for in 반복문, range, enumerate

|

파이썬 파트7. for in 반복문, range, enumerate

try hello world 파이썬 입문 강의

for in list

  • 코드를 필요한만큼 반복해서 실행
list = ['일', '이', '삼', '사', '오']
for v in list:
  print(v)
'''
결과값 :
일
이
삼
사
오
'''
  • 리스트 patterns의 값을 하나씩 꺼내 pattern으로 전달
  • 리스트의 길이만큼 print (pattern) 실행

자바스크립트 for in 과의 차이점

for(v in list){
	console.log(v);
}
/*
결과값 :
0
1
2
3
4
*/

for in range

range 함수

  • 필요한 만큼의 숫자를 만들어내는 유용한 기능
  • range([start,] stop [,step])는 for문과 함께 자주 사용되는 함수이다. 이 함수는 입력받은 숫자에 해당되는 범위의 값을 반복 가능한 객체로 만들어 리턴한다.
#인수 1개 - 시작 숫자를 지정해 주지 않으면 range 함수는 0부터 시작한다.

>>> list(range(5))
[0, 1, 2, 3, 4]

# 인수 2개 - 입력으로 주어지는 2개의 인수는 시작 숫자와 끝 숫자를 나타낸다.
# 단, 끝 숫자는 해당 범위에 포함되지 않는다는 것에 주의하자.
>>> list(range(5, 10))
[5, 6, 7, 8, 9]

# 인수 3개 - 세 번째 인수는 숫자 사이의 거리를 말한다.
>>> range(1, 10, 3)
[1, 4, 7]
>>> range(20, 10, -2)
[20, 18, 16, 14, 12]

for i in range(5):
  print(i)
  • for in list : 순회할 리스트가 정해져 있을 때 사용
  • for in range : 순회할 횟수가 정해져 있을 때 사용

len 함수

  • len(s)은 입력값 s의 길이(요소의 전체 개수)를 리턴하는 함수이다.
>>> len("python")
6
>>> len([1,2,3])
3
>>> len((1, 'a'))
2
rainbow=["빨","주","노","초","파","남","보"]
for i in range(len(rainbow)):
	color = rainbow[i]
	print('{}번째 색은 {}'.format(i+1,color))

enumerate 함수

  • 리스트가 있는 경우 순서와 리스트의 값을 전달하는 기능
  • enumerate는 “열거하다”라는 뜻이다. 이 함수는 순서가 있는 자료형(리스트, 튜플, 문자열)을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 리턴한다.
  • 보통 enumerate 함수는 아래 예제처럼 for문과 함께 자주 사용된다.
>>> for i, name in enumerate(['body', 'foo', 'bar']):
...     print(i, name)
...
0 body
1 foo
2 bar

for문처럼 반복되는 구간에서 객체가 현재 어느 위치에 있는지 알려주는 인덱스 값이 필요할때 enumerate 함수를 사용하면 매우 유용하다.

names = ['철수', '영희', '영수']
for i, name in enumerate(names):
  print('{}번: {}'.format(i + 1, name))