[Python] ๋ฆฌ์คํธ์์ ์ํ๋ ์์๋ง ์ถ์ถํ๊ธฐ
๋ฆฌ์คํธ์์ ํ์์ธ ๋ฐ์ดํฐ๋ง ์ถ๋ ฅํ๋๋ก ํ๋ ํจ์
#์ฃผ์ด์ง ๋ฆฌ์คํธ
num_list = {1, 5, 7, 15, 16, 22, 28, 29}
def get_odd_num(num_list):
# TODO
print(get_odd_num(num_list))
#์ถ๋ ฅ
[1, 5, 7, 15, 29]
โ ๋ฆฌ์คํธ ์์ฒด๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์์ค๋ ํจ์
# ๋ฐฉ๋ฒ 1
#์ฃผ์ด์ง ๋ฆฌ์คํธ
num_list = {1, 5, 7, 15, 16, 22, 28, 29}
def get_odd_num(num_list):
return [x for x in num_list if(x % 2)]
print(get_odd_num(num_list))
# ๋ฐฉ๋ฒ 2
#์ฃผ์ด์ง ๋ฆฌ์คํธ
num_list = [1, 5, 7, 15, 16, 22, 28, 29]
def get_odd_num(num_list):
odd_list = []
for x in num_list:
if(x % 2 == 1):
odd_list.append(x)
return odd_list
print(get_odd_num(num_list))
#์ถ๋ ฅ
[1, 5, 7, 15, 29]
*list comprehension ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ :
[(๋ณ์๋ฅผ ํ์ฉํ ๊ฐ) for (์ฌ์ฉํ ๋ณ์ ์ด๋ฆ) in (์ํํ ์ ์๋ ๊ฐ or ํํฐ๋งํ ์ ์๋ ๊ฐ(์กฐ๊ฑด๋ฌธ ...)]
+ ์ฐธ๊ณ <list comprehension>
โ ํ๋ผ๋ฏธํฐ๋ก ์์๋ฅผ ๋ฐ๋ ๊ฒฝ์ฐ
# ๋ฐฉ๋ฒ 1
#์ฃผ์ด์ง ๋ฆฌ์คํธ
num_list = {1, 5, 7, 15, 16, 22, 28, 29}
odd_list = [x for x in num_list if x % 2 == 0]
print(odd_list)
# ๋ฐฉ๋ฒ 2
#์ฃผ์ด์ง ๋ฆฌ์คํธ
num_list = {1, 5, 7, 15, 16, 22, 28, 29}
def get_odd(n):
return [n % 2 == 1]
odd_list = list(filter(get_odd, num_list))
print(odd_list)
*filter ํจ์:
filter(ํจ์์ด๋ฆ, ์๋ณธ ๋ฆฌ์คํธ)
return ๊ฐ: iterator(filter object)
์๋ณธ ๋ฆฌ์คํธ์ ์์๋ค์ ํ๋ํ๋ ํจ์์ ๋ฃ์ด์ ๋ฐํ์ด true์ธ ๊ฐ์ ๋ค์ ๋ฆฌ์คํธ๋ก ๋ง๋ค์ด์ค๋ค.
filter ํจ์์ ์ธ์๋ก ๋ค์ด๊ฐ๋ ํจ์์ ๋ฆฌํด ํ์ ์ boolํ์ด์ด์ผ ํ๋ค.
+ ์ฐธ๊ณ <filter ํจ์> https://helloworld-fromuser.tistory.com/19