List
- 파이썬의 제어문
- 조건문 if
- 반복문 while
- 반복문 for
- 연습 문제
for 변수 in 리스트(또는 튜플, 문자열):
수행할 문장1
수행할 문장2
...
>>> test_list = ['one', 'two', 'three']
>>> for i in test_list: # 리스트의 첫 번째 요소인 'one'부터 'three' 까지 차례 i 변수에 대입
... print(i) # print(i) 문장을 차례로 수행
...
one
two
three
>>> a = [(1,2), (3,4), (5,6)] # 요소값이 튜플임
>>> for (first, last) in a:
... print(first + last) # 요소가 자동으로 (first, last) 변수에 대입
...
3
7
11
>>>marks = [90, 25, 67, 45, 80]
>>>number = 0 # 이는 리스트 요소마다 이름을 주기 위해서
>>> for mark in marks:
number = number + 1
if mark >= 60:
print('%d student is pass' % number)
elif mark < 60:
print('%d student is fail' % number )
1 student is pass
2 student is fail
3 student is pass
4 student is fail
5 student is pass
while문
에서의 continue 와 같이 특정 조건이 참일 때 맨 처음 문장으로 돌아간다.>>>marks = [90, 25, 67, 45, 80]
>>> number = 0
>>> for mark in marks:
number = number + 1
if mark >= 60:
continue
print('%d student is fail. take this class again' % number)
2 student is fail. take this class again
4 student is fail. take this class again
-'range(시작 숫자,끝 숫자)`: 숫자 리스트를 자동으로 만들어 주며, 시작 숫자부터 끝 숫자 전까지를 리스트로 만들어 준다
>> a = range(10) >> a range(0, 10) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 리스트가 만들어 진것임
for
과range
를 활용해서 1부터 10까지 더하기>> add = 0 >> for i in range(1, 11): ... add = add + i ... >> print(add) 55
len()
함수와 같이 사용 :len()
함수는 리스트안의 요소 개수를 돌려주는 함수다.>>marks = [90, 25, 67, 45, 80] >> for number in range(len(marks)): # len(marks)는 5가 될것임 -> number 변수에는 차례로 0부터 4까지의 숫자가 대입될 것 if marks[number] < 60: print('%s student is fail, do not cry and study' % (number+1)) elif marks[number] >= 60: print('%s student is pass, but u study more' % (number+1)) 1 student is pass, but u study more 2 student is fail, do not cry and study 3 student is pass, but u study more 4 student is fail, do not cry and study 5 student is pass, but u study more
- for와 range를 이용한 구구단
>> for i in range(2,10): for j in range(1,10): print('{}*{}={}'. format(i, j, i*j), end =" ") print(' ') 2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18 3*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27 4*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=54 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=63 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=72 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
>> for i in range(2,10): for j in range(1,10): 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 ***`print(i*j, end=" ")` 이때 `매개변수 end= " "`는 출력 값을 다음줄로 넘기지 않고 그 줄에 계속해서 출력하기 위해서 사용 ***`print(' ')` 매개변수 이후 바로 나오는 `print(' ')`는 두 번째 for문이 끝나면 결괏값을 다음 줄부터 출력하게 해준다
변수 = [표현식 for 항목1 in 반복가능객체1 if]
리스트 내포 사용
>>> a = [1, 2, 3, 4]
>>> result = [num * 3 for num in a]
>>> print(result)
[3, 6, 9, 12]
기본방법
>>> a = [1,2,3,4]
>>> result = []
>>> for num in a:
... result.append(num*3)
...
>>> print(result)
[3, 6, 9, 12]
if 문
과 결합[표현식 for 항목1 in 반복가능객체1 if 조건문1
for 항목2 in 반복가능객체2 if 조건문2
...
for 항목n in 반복가능객체n if 조건문n]
[1,2,3,4,5,6,7,8,9,~,19] 중에서 짝수에만 3을 곱하여 담고 싶다
>>> a = range(0, 20)
>>> result = [num * 3 for num in a if num % 2 == 0]
>>> print(result)
[0, 6, 12, 18, 24, 30, 36, 42, 48, 54]