기본 구조
for 변수 in 리스트(또는 튜플, 문자열):
수행할 문장1
수행할 문장2
...
1. 전형적인 for문
test_list = ['one','two','three']
for i in test_list: # 'one'이 i에 들어가고, print를 실행, 'two'가 i에 들어가고 print 실행
print(i)
2. 다양한 for문의 사용
a = [(1,2),(3,4),(5,6)]
for (first, last) in a:
print(first+list)
위 예제는 a 리스트의 요솟값이 튜플이기 때문에 각각의 요소가 자동으로 (first, last) 변수에 대입된다.

3. for문의 응용
marks = [90, 25, 67, 45, 80]
number = 0
for mark in marks: # 90, 25, 67, 45, 80
number += 1
if mark >= 60:
print("%d학생 합격" % number)
else:
print("%d학생 불합격" % number)
for문과 continue
while 문에서 살펴본 continue 문을 for문에서도 사용할 수 있다.
즉 for문 안의 문장을 수행하는 도중에 continue 문을 만나면 for문의 처음으로 돌아가게 된다.
marks = [90, 25, 67, 45, 80]
number = 0
for mark in marks:
number += 1
if mark < 60: # 60점 미만인 사람은 continue로 넘어가서 다시 for문으로 돌아간다.
continue
print("%d번 학생 축하합니다, 합격입니다." % number)
for문과 함께 자주 사용하는 range 함수
for문은 숫자 리스트를 자동으로 만들어 주는 range 함수와 함께 사용하는 경우가 많다.
>>> a = range(10)
>>> a
range(0, 10) # 0~10미만의 숫자를 포함하는 range 객체 생성
시작 숫자와 끝 숫자를 지정하려면 range(시작 숫자, 끝 숫자) 형탤르 사용하는데, 이 때 끝 숫자는 포함되지 않는다.
>>> a = range(1, 11)
>>> a
range(1, 11) # 1~10까지
1부터 10까지의 합
>>> sum = 0
>>> for i in range(1, 11):
... sum = sum + i
...
>>> print(sum)
55
range(len())을 이용한 예제
marks = [90, 25, 67, 45, 80]
for number in range(len(marks)):
if marks[number] < 60:
continue
print("%d번 학생 축하합니다. 합격입니다." % (number+1))

for와 range를 이용한 구구단
#점프 투 파이썬 예제
>>> for i in range(2,10): # ①번 for문
... for j in range(1, 10): # ②번 for문
... print(i*j, end=" ")
... print('')
...
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
#me
for i in range(2,10):
for j in range(1,10):
print("%d * %d = %d" % (i,j,i*j))
[매개변수 end를 넣어 준 이유는 무엇일까?]
앞의 예제에서 print(i*j, end=" ")와 같이 매개변수 end를 넣어 준 이유는 해당 결과값을 출력할 때 다음 줄로 넘기지 않고, 그 줄에서 계속해서 출력하기 위해서이다. 그 다음에 이어지는 print(' ')는 2단, 3단 등을 구분하기 위해 다음 줄부터 출력 해주는 문장이다.
리스트 내포 사용하기
리스트 안에 for문을 포함하는 리스트 내포를 사용하면 좀 더 편리하고 직관적인 프로그램을 만들 수 있다.
a = [1,2,3,4]
result = []
for num in a:
result.append(num*3)
print(result)

위 예제는 a 리스트의 각 항목에 3을 곱한 결과를 result 리스트에 담는 예제이다.
a = [1,2,3,4]
result = [num * 3 for num in a]
print(result)

만약 [1,2,3,4] 중에서 짝수에만 3을 곱하여 담고 싶다면 다음과 같이 리스트 내포 안에 "if 조건"을 사용할 수 있다.
a = [1,2,3,4]
result = [num * 3 for num in a if num % 2 == 0]
print(result)
[표현식 for 항목 in 반복가능객체 if 조건문]
[표현식 for 항목1 in 반복가능객체1 if 조건문1
for 항목2 in 반복가능객체2 if 조건문2
...
for 항목n in 반복가능객체n if 조건문n]

>>> result = [x*y for x in range(2,10)
... for y in range(1,10)]
>>> print(result)
[2, 4, 6, 8, 10, 12, 14, 16, 18, 3, 6, 9, 12, 15, 18, 21, 24, 27, 4, 8, 12, 16,
20, 24, 28, 32, 36, 5, 10, 15, 20, 25, 30, 35, 40, 45, 6, 12, 18, 24, 30, 36, 42
, 48, 54, 7, 14, 21, 28, 35, 42, 49, 56, 63, 8, 16, 24, 32, 40, 48, 56, 64, 72,
9, 18, 27, 36, 45, 54, 63, 72, 81]

'Language > Python' 카테고리의 다른 글
| 점프 투 파이썬 - 사용자 입력과 출력, 파일 읽고 쓰기 (0) | 2019.07.12 |
|---|---|
| 점프 투 파이썬 - 함수★★ (0) | 2019.07.09 |
| 점프 투 파이썬 - while문 (0) | 2019.07.08 |
| 점프 투 파이썬 - if문★ (0) | 2019.07.08 |
| 점프 투 파이썬 - 변수 (0) | 2019.07.08 |
댓글