while 키워드
무한루프
while True:
print('haha')
break
a = [1, 10, 9, 24, 25, 26]
i = 0
while i < len(a):
if a[i] > 20:
break
print(a[i])
i += 1
print('hahah')
continue
a = 7
while a > 0:
a -= 1
if a == 5:
continue
print(a)
a = [1, 2, 4, 3, 5]
for i in a:
print (i, i * 2)
문자열의 아이템 출력하기
for x in 'hello world':
print(x, end = ' ') # h e l l o w o r l d
리스트 아이템 출력하기
a = [1, 10, 3, 4, 5]
for num in a:
if num % 2 == 0:
print(num/2, end = ' ')
else:
print(num+1, end = ' ')
# 2 5.0 4 2.0 6
dict의 아이템 출력하기
a = {'korea': 'seoul', 'japan': 'tokyo', 'canada': 'ottawa'}
for key in a:
print(key, a[key])
a = {'korea': 'seoul', 'japan': 'tokyo', 'canada': 'ottawa'}
for key in a:
print(key)
a = {'korea': 'seoul', 'japan': 'tokyo', 'canada': 'ottawa'}
for value in a.values():
print(value)
a = {'korea': 'seoul', 'japan': 'tokyo', 'canada': 'ottawa'}
list(a.items())
# [('korea', 'seoul'), ('japan', 'tokyo'), ('canada', 'ottawa')]
for key, value in a.items():
print(key, value)
for에서 index 사용하기
a = [1, 2, 3, 4, 5]
for index, num in enumerate(a):
if index > 3:
print(index, num) # 4 5
break
a = [100, 90, 80, 70, 60, 50]
for num in a:
if num < 80:
break
print(num, end = ' ') # 100 90 80
continue
a = [100, 90, 80, 70, 60, 50]
for num in a:
if num >= 60 and num <= 70:
continue
print(num, end = ' ') # 100 90 80 50
loop 중첩
a = [1, 2, 4]
for i in a:
for j in a:
print(i * j, end = ' ')
# 1 2 4 2 4 8 4 8 16
collection의 길이
a = [1, 2, 3, 4, 5, 1]
len('hello world') # 11
range 함수
list(range(101))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
함수의 정의
parameter(argument) (인자)
def substract(x, y):
sub = x - y
return sub
a = substract(100, 70)
print(a) # 30
default parameter
def add(x, y=10, z=5):
a = x + y + z
return a
add(10) # 25
기본 파라미터의 다른 예
print(1, 2, 3, sep='!', end='%%%')
print(2, 3, 4, sep='p')
# 1!2!3%%%2p3p4
default parameter 사용 시 주의 점
디폴트 파라미터 뒤에 일반 파라미터가 위치할 수 없음
e.g) 올바른 예
def test(a, b, c = 1)
def test(a, b = 1, c = 2)
def test(a = 1, b = 1, c = 3)
e.g) 올바르지 않은 예
def test(a, b = 1, c)
def test(a = 1, b, c)
def test(a = 1, b = 1, c)
keyword parameter
def test(x, y, z):
a = x + y + z
return a
test(x=10, y=50, z=3) # 63
return
multiple return
def add_mul(x, y):
s = x + y
m = x * y
return s, m
a, b = add_mul(20, 3)
print(a, b) # 23 60
variable scope(변수의 범위)
variable length argument(가변길이 인자)
*args, **kwargs
*args : 파라미터를 튜플의 형태로 전달
**kwargs : 파리미터를 딕셔너리 형태로 전달(네임드 파라미터)
def test(*args): # arguments
for item in args:
print(item, end = ' ')
test(10, 30, 40, 50, 60, 70)
# 10 30 40 50 60 70
keyword parameter(키워드 파라미터)
def test2(**kwargs): # key word arguments
for key, value in kwargs.items():
print('key:', key, ', value:', value)
test2(a=1)
# key: a , value: 1
a = '오늘 온도: {today_temp}도, 강수확률은: {today_prob}% 내일온도: {tomorrow_temp}도'.format(tomorrow_temp=23, today_prob=40, today_temp=40)
print(a)
# 오늘 온도: 40도, 강수확률은: 40% 내일온도: 23도
lambda 함수
def square2(x):
return x**2
square2(5) # 25
square = lambda x:x**2
square(5) # 25
def add(x, y):
return x + y
add2 = lambda x,y:x+y
add(10,20) # 30
add2(10, 20) # 30
strings = ['bob', 'charles', 'alexander3', 'teddy']
strings.sort(key=lambda s:len(s))
print(strings) # ['bob', 'teddy', 'charles', 'alexander3']
filter, map, reduce
# filter
def even(n):
return n % 2 == 0
even(3) # False
nums = [1, 2, 3, 6, 8, 9, 10, 11, 13, 15]
list(filter(lambda n:n%2==0, nums))
# [2, 6, 8, 10]
# map
# 주어진 리스트, 리스트의 제곱을한 숫자로 새로운 리스트
nums = [1, 2, 3, 6, 8, 9, 10, 11, 13, 15]
list(map(lambda n:n**2, nums))
# [1, 4, 9, 36, 64, 81, 100, 121, 169, 225]
import functools
a = [1, 3, 5, 8]
# 리스트 내의 모든 숫자의 합
functools.reduce(lambda x,y:x+y, a) # 17
import
import math
math.pi # 3.141592653589793
math.cos(100) # 0.8623188722876839
from import
from math import pi
from math import cos
cos(100) # 0.8623188722876839
* 임포트
from math import *
as
import math as m
print(m.exp(3)) # 20.085536923187668
print(m.cos(100)) # 0.8623188722876839
머신러닝과 데이터 분석 A-Z 올인원 패키지 Online. 👉 https://bit.ly/3cB3C8y