์ƒˆ์†Œ์‹

๐ŸŽ/Python

[Python] filter ํ•จ์ˆ˜

  • -

iterator๊ฐ’๋“ค์„ ํ•˜๋‚˜ํ•˜๋‚˜ function์„ ์ ์šฉํ–์—ฌ ๋ฐ˜ํ™˜๊ฐ’์ด true์ธ ๊ฐ’์„ ํ•„ํ„ฐ๋งํ•˜์—ฌ ๋‹ค์‹œ ๋ฆฌ์ŠคํŠธ๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ํ•จ์ˆ˜

 

filter(function, iterator)

*function: ํ•„ํ„ฐ๋ง์„ ์ ์šฉ์‹œํ‚ฌ ํ•จ์ˆ˜

*iterator: ๋ฐ˜๋ณต๊ฐ€๋Šฅํ•œ ๊ฐ’

 

*๋ฐ˜ํ™˜ ๊ฐ’์ด filter ๊ฐ์ฒด์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฌ์ŠคํŠธ๋กœ ํ˜•๋ณ€ํ™˜ํ•ด์•ผํ•œ๋‹ค.

list(filter(ํ•จ์ˆ˜, ๋ฆฌ์ŠคํŠธ))

 

ex. ๋ฆฌ์ŠคํŠธ์—์„œ ํ™€์ˆ˜ ์š”์†Œ๋งŒ ์ถœ๋ ฅ

#์ฃผ์–ด์ง„ ๋ฆฌ์ŠคํŠธ
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)
#์ถœ๋ ฅ
[1, 5, 7, 15, 29]

+lambda ํ•จ์ˆ˜ ์‚ฌ์šฉํ•˜๊ธฐ

๊ฐ„๋‹จํ•œ ํ•จ์ˆ˜๊ฑฐ๋‚˜, ํ•œ ๋ฒˆ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ์ผํšŒ์„ฑ ํ•จ์ˆ˜์ธ ๊ฒฝ์šฐ def๋กœ ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค lambda ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํŽธ๋ฆฌํ•˜๋‹ค.

  +์ฐธ๊ณ  <lambda ํ•จ์ˆ˜>https://helloworld-fromuser.tistory.com/20

#์ฃผ์–ด์ง„ ๋ฆฌ์ŠคํŠธ
num_list = {1, 5, 7, 15, 16, 22, 28, 29}

odd_list= list(filter(lambda n: n % 2 == 1, num_list))

print(odd_list)
#์ถœ๋ ฅ
[1, 5, 7, 15, 29]
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ ๋ณต์‚ฌ ์™„๋ฃŒ! ๐ŸŒˆ

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐโค๏ธโ€๐Ÿ”ฅ๋ถ€ํƒ ๋“œ๋ ค์š” (โˆ—โ›โŒ„โ›โˆ—)