๐Ÿ“˜ Programming/Python

[Python3] ํŒŒ์ด์ฌ ๋ฆฌ์ŠคํŠธ ์„ ์–ธ ๊น”๋”ํ•˜๊ณ  ๋น ๋ฅด๊ฒŒ ํ•˜๊ธฐ (list comprehension)

ํ•œ์ฝ”๋”ฉ 2020. 10. 5. 23:23
728x90
728x90

๋ฐฐ์—ด ๋‚ด ํ™€์ˆ˜ ์ œ๊ฑฐ, ์ง์ˆ˜ ์ œ๊ณฑ ์ถœ๋ ฅ ๋ฌธ์ œ

 

์ •์ˆ˜๋ฅผ ๋‹ด์€ ๋ฆฌ์ŠคํŠธ mylist๋ฅผ ์ž…๋ ฅ๋ฐ›์•„, ์ด ๋ฆฌ์ŠคํŠธ์˜ ์›์†Œ ์ค‘ ์ง์ˆ˜์ธ ๊ฐ’๋งŒ์„ ์ œ๊ณฑํ•ด ๋‹ด์€ ์ƒˆ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” solutionํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, [3, 2, 6, 7]์ด ์ฃผ์–ด์ง„ ๊ฒฝ์šฐ

 

  • 3์€ ํ™€์ˆ˜์ด๋ฏ€๋กœ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.
  • 2๋Š” ์ง์ˆ˜์ด๋ฏ€๋กœ ์ œ๊ณฑํ•ฉ๋‹ˆ๋‹ค.
  • 6์€ ์ง์ˆ˜์ด๋ฏ€๋กœ ์ œ๊ณฑํ•ฉ๋‹ˆ๋‹ค.
  • 7์€ ํ™€์ˆ˜์ด๋ฏ€๋กœ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ 2์˜ ์ œ๊ณฑ๊ณผ 6์˜ ์ œ๊ณฑ์„ ๋‹ด์€ ๋ฆฌ์ŠคํŠธ์ธ [4, 36]์„ ๋ฆฌํ„ดํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

 

์œ„์™€ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” solutionํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด๋ณด์ž.

 

mylist =  [3, 2, 6, 7]

def solution(mylist):
    answer = []

    for i in mylist:
      if i%2 == 0:
        answer.append(i**3) # pow(i, 3)
        
    return answer

print (solution(mylist))

 

 

์œ„ ์†Œ์Šค์ฝ”๋“œ๋Š” ์ง์ ‘ ์ž‘์„ฑํ•œ ๊ฒƒ์ด๋‹ค.

 

์•„์ฃผ ์ •์ƒ์ ์ธ ์ฝ”๋“œ๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ, ํŒŒ์ด์ฌ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•œ ์˜๋ฏธ๋ฅผ ์‚ด๋ฆฌ๊ธฐ ์œ„ํ•ด ๋”์šฑ ๋” ๊ฐ„๋‹จํ•˜๊ณ  ๊น”๋”ํ•˜๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ’€ ์ˆ˜ ์žˆ๋‹ค.

 

list Comprehension - for ๋ฌธ๊ณผ if ๋ฌธ์„ ํ•œ ๋ฒˆ์— ์ฒ˜๋ฆฌ

mylist = [3, 2, 6, 7]
answer = [ i**2 for i in mylist if i % 2 == 0]

 

์•„์ฃผ ๊ฐ„๋‹จํ•ด์ง„ ์ฝ”๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. 

 

list Comprehension์„ ์ด์šฉํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ์˜ ์„ ์–ธ + ๋ฆฌ์ŠคํŠธ ๋‚ด ์›์†Œ ๋Œ€์ƒ ๋ฐ˜๋ณต๋ฌธ + ์กฐ๊ฑด๋ฌธ์„ ๋™์‹œ์— ํ•œ์ค„๋กœ ์„ ์–ธํ•œ๋‹ค.

 

mylist์˜ ์›์†Œ ์ค‘ ์ง์ˆ˜์ธ ๊ฒฝ์šฐ์—๋Š” i๋ฅผ ์ œ๊ณฑํ•˜์—ฌ answer ๋ฆฌ์ŠคํŠธ์— ์‚ฝ์ž…ํ•œ๋‹ค๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„๋‹ค.

728x90
๋ฐ˜์‘ํ˜•