๐Ÿ ํŒŒ์ด์ฌ ์ดˆ๋ณด ํƒˆ์ถœ ํ•„๋…! ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜ ์˜ˆ์ œ ํฌํ•จ ์™„๋ฒฝ ๊ฐ€์ด๋“œ: ์ฝ”๋”ฉ ํšจ์œจ 100๋ฐฐ ๋†’์ด๋Š” ์น˜ํŠธํ‚ค!



ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜ ์˜ˆ์ œ ํฌํ•จ ํ•„์ˆ˜ ํ•™์Šต ๊ฐ€์ด๋“œ! ์ฝ”๋”ฉ ์‹œ๊ฐ„์„ ์ค„์ด๊ณ  ํšจ์œจ์„ ๋†’์ด๋Š” ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜ 10๊ฐ€์ง€๋ฅผ ์—„์„ ํ•˜์—ฌ ์‹ค์ œ ์˜ˆ์ œ ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ์‰ฝ๊ณ  ์ „๋ฌธ์ ์œผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.



๐Ÿ’ก ์™œ ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜๋ฅผ ์•Œ์•„์•ผ ํ•˜๋Š”๊ฐ€? ์ฝ”๋”ฉ ํšจ์œจ์˜ ๋น„๋ฐ€!

**ํŒŒ์ด์ฌ(Python)**์€ ๊ฐ„๊ฒฐํ•˜๊ณ  ๊ฐ•๋ ฅํ•œ ๋ฌธ๋ฒ• ๋•๋ถ„์— ์ „ ์„ธ๊ณ„ ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ๊ฐ€์žฅ ์‚ฌ๋ž‘๋ฐ›๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ์ด ์ดํ† ๋ก ๊ฐ•๋ ฅํ•œ ์ด์œ ๋Š” ๋ฐ”๋กœ ๋ฐฉ๋Œ€ํ•œ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๋”๋ถˆ์–ด, ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋ฏธ๋ฆฌ ๊ตฌํ˜„ํ•ด ๋†“์€ ๋‚ด์žฅํ•จ์ˆ˜(Built-in Functions) ๋•๋ถ„์ž…๋‹ˆ๋‹ค.

์ด ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜๋“ค์„ ๋Šฅ์ˆ™ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ฝ”๋“œ๋ฅผ ๋” ์งง๊ฒŒ, ๋” ๋น ๋ฅด๊ฒŒ, ๊ทธ๋ฆฌ๊ณ  ๋” "ํŒŒ์ด์จ๋‹‰(Pythonic)"ํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๋Š” ํ•ต์‹ฌ ๋น„๊ฒฐ์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์•„์ง๋„ len(), print(), type() ๊ฐ™์€ ๊ธฐ๋ณธ์ ์ธ ํ•จ์ˆ˜๋งŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด, ์—ฌ๋Ÿฌ๋ถ„์€ ํŒŒ์ด์ฌ์ด ์ œ๊ณตํ•˜๋Š” ๋ฌดํ•œํ•œ ์ž ์žฌ๋ ฅ์„ ์ ˆ๋ฐ˜๋งŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์…ˆ์ž…๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์ดˆ๋ณด ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฐ˜๋“œ์‹œ ์•Œ์•„์•ผ ํ•  ํ•„์ˆ˜ ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜ ์˜ˆ์ œ ํฌํ•จ ์™„๋ฒฝ ๊ฐ€์ด๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ๋ถ€ํ„ฐ ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜๋ฅผ ๋งˆ์Šคํ„ฐํ•˜๊ณ  ์ฝ”๋”ฉ ์‹ค๋ ฅ์„ ํ•œ ๋‹จ๊ณ„ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ์ค€๋น„๋ฅผ ํ•ด๋ณด์„ธ์š”! ๐Ÿš€



๐Ÿ”ข ์ž๋ฃŒํ˜• ๋ณ€ํ™˜๊ณผ ์ˆ˜ํ•™ ์—ฐ์‚ฐ์˜ ๋‹ฌ์ธ: ํ•„์ˆ˜ ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜ ์˜ˆ์ œ ํฌํ•จ

๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ž๋ฃŒํ˜•์„ ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜ ๊ธฐ๋ณธ์ ์ธ ์ˆ˜ํ•™ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์€ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜๋Š” ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ๋‹จ ํ•˜๋‚˜์˜ ๋ช…๋ น์–ด๋กœ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.

ํ•จ์ˆ˜๊ธฐ๋Šฅ ์š”์•ฝํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜ ์˜ˆ์ œ ํฌํ•จ
int()๊ฐ’์„ ์ •์ˆ˜ํ˜•์œผ๋กœ ๋ณ€ํ™˜int("123") $\rightarrow$ 123
str()๊ฐ’์„ ๋ฌธ์ž์—ดํ˜•์œผ๋กœ ๋ณ€ํ™˜str(3.14) $\rightarrow$ "3.14"
float()๊ฐ’์„ ๋ถ€๋™ ์†Œ์ˆ˜์ ํ˜•์œผ๋กœ ๋ณ€ํ™˜float(100) $\rightarrow$ 100.0
sum()์ดํ„ฐ๋Ÿฌ๋ธ”(iterable) ๊ฐ์ฒด์˜ ํ•ฉ๊ณ„๋ฅผ ๊ณ„์‚ฐsum([1, 2, 3]) $\rightarrow$ 6
round()์ˆซ์ž๋ฅผ ๋ฐ˜์˜ฌ๋ฆผํ•˜์—ฌ ๋ฐ˜ํ™˜round(3.14159, 2) $\rightarrow$ 3.14

sum() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ, ๋‹จ์ˆœํžˆ ๋ฆฌ์ŠคํŠธ์˜ ํ•ฉ์„ ๊ตฌํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ดˆ๊ธฐ๊ฐ’์„ ์ง€์ •ํ•˜์—ฌ ๋ˆ„์  ํ•ฉ๊ณ„๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์ œ ์ฝ”๋“œ: ๋ˆ„์  ํ•ฉ๊ณ„ ๊ณ„์‚ฐ

Python
my_list = [5, 10, 15]
initial_value = 100
total_sum = sum(my_list, initial_value)
# total_sum = 100 + 5 + 10 + 15 = 130
print(total_sum) 

์ด์ฒ˜๋Ÿผ ๊ฐ„๋‹จํ•œ ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜ ์‚ฌ์šฉ๋งŒ์œผ๋กœ๋„ ๋ณต์žกํ•œ for ๋ฃจํ”„๋ฅผ ์ƒ๋žตํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ”„ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ง€๋ฐฐํ•˜๋Š” ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜ ์˜ˆ์ œ ํฌํ•จ: map(), filter(), zip()

ํŒŒ์ด์ฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋ณ€ํ˜•ํ•˜๋Š” ๋ฐ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๋Š” ํ•จ์ˆ˜๋“ค์€ ๋ฐ”๋กœ map(), filter(), zip()์ž…๋‹ˆ๋‹ค. ์ด๋“ค์€ ๊ณ ์ฐจ ํ•จ์ˆ˜(Higher-order functions)์˜ ์ผ์ข…์œผ๋กœ, ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‚˜ ์‹ค๋ฌด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๋‹ค๋ฃฐ ๋•Œ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  1. map(): ์ดํ„ฐ๋Ÿฌ๋ธ” ๊ฐ์ฒด์˜ ๋ชจ๋“  ์š”์†Œ์— ๋™์ผํ•œ ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ดํ„ฐ๋Ÿฌ๋ธ”์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

    ์˜ˆ์ œ ์ฝ”๋“œ: ๋ฆฌ์ŠคํŠธ์˜ ๋ชจ๋“  ์š”์†Œ ์ œ๊ณฑํ•˜๊ธฐ

    Python
    numbers = [1, 2, 3]
    # ๋žŒ๋‹ค ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ์š”์†Œ๋ฅผ ์ œ๊ณฑ
    squared = list(map(lambda x: x**2, numbers))
    # squared = [1, 4, 9]
    print(squared) 
    
  2. filter(): ์ดํ„ฐ๋Ÿฌ๋ธ” ๊ฐ์ฒด์˜ ์š”์†Œ ์ค‘ ํŠน์ • ์กฐ๊ฑด(ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜ ๊ฐ’์ด True์ธ ๊ฒฝ์šฐ)์„ ๋งŒ์กฑํ•˜๋Š” ์š”์†Œ๋งŒ ํ•„ํ„ฐ๋งํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

    ์˜ˆ์ œ ์ฝ”๋“œ: ์ง์ˆ˜๋งŒ ๊ฑธ๋Ÿฌ๋‚ด๊ธฐ

    Python
    numbers = [1, 2, 3, 4, 5, 6]
    # ๋žŒ๋‹ค ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง์ˆ˜๋งŒ ํ•„ํ„ฐ๋ง
    even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
    # even_numbers = [2, 4, 6]
    print(even_numbers)
    
  3. zip(): ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ดํ„ฐ๋Ÿฌ๋ธ” ๊ฐ์ฒด๋“ค์„ ๋ณ‘๋ ฌ๋กœ ๋ฌถ์–ด(์••์ถ•ํ•˜์—ฌ) ํŠœํ”Œ์˜ ์ดํ„ฐ๋Ÿฌ๋ธ”์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    ์˜ˆ์ œ ์ฝ”๋“œ: ์ด๋ฆ„๊ณผ ์ ์ˆ˜ ๋ฌถ๊ธฐ

    Python
    names = ["Alice", "Bob"]
    scores = [90, 85]
    # ๋‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฌถ์–ด [('Alice', 90), ('Bob', 85)] ์ƒ์„ฑ
    zipped_data = list(zip(names, scores))
    print(zipped_data)
    

์ด ์„ธ ๊ฐ€์ง€ ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜ ์˜ˆ์ œ ํฌํ•จ์„ ํ†ตํ•ด, ๋ฐ˜๋ณต๋ฌธ ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ฐ•๋ ฅํ•จ์„ ๋А๊ปด๋ณด์„ธ์š”.


๐Ÿ—ƒ️ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰๊ณผ ์ •๋ ฌ์˜ ๋งˆ๋ฒ•: max(), min(), sorted()

๋ฐ์ดํ„ฐ์…‹์—์„œ ๊ฐ€์žฅ ํฐ ๊ฐ’, ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ์ฐพ๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•˜๋Š” ๊ฒƒ์€ ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„์˜ ๊ธฐ๋ณธ์ž…๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜๋Š” ์ด ๊ณผ์ •์„ ๋งค์šฐ ์ง๊ด€์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

  • max() / min(): ์ดํ„ฐ๋Ÿฌ๋ธ” ๋‚ด์—์„œ ์ตœ๋Œ€/์ตœ์†Œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ณต์žกํ•œ ๊ฐ์ฒด ๋ฆฌ์ŠคํŠธ์—์„œ๋„ key ์ธ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ๊ธฐ์ค€์œผ๋กœ ์ตœ๋Œ€/์ตœ์†Œ ๊ฐ์ฒด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์˜ˆ์ œ ์ฝ”๋“œ: ๋”•์…”๋„ˆ๋ฆฌ ๋ฆฌ์ŠคํŠธ์—์„œ ์ตœ๋Œ“๊ฐ’ ์ฐพ๊ธฐ

    Python
    students = [{'name': 'A', 'score': 95}, {'name': 'B', 'score': 88}]
    # 'score'๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ํ•™์ƒ ์ฐพ๊ธฐ
    highest_scorer = max(students, key=lambda item: item['score'])
    print(highest_scorer) # {'name': 'A', 'score': 95}
    
  • sorted(): ์ƒˆ๋กœ์šด ์ •๋ ฌ๋œ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค (์›๋ณธ ๋ฆฌ์ŠคํŠธ๋Š” ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Œ). reverse=True ์ธ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

    ์˜ˆ์ œ ์ฝ”๋“œ: ๋ฌธ์ž์—ด ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ธธ์ด ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ธฐ

    Python
    words = ["apple", "kiwi", "banana", "orange"]
    # ๋ฌธ์ž์—ด์˜ '๊ธธ์ด'๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ
    sorted_by_length = sorted(words, key=len)
    # sorted_by_length = ['kiwi', 'apple', 'banana', 'orange']
    print(sorted_by_length)
    

max(), min(), sorted()์— key ์ธ์ž๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์‹œ ํ•„์ˆ˜ ์Šคํ‚ฌ์ด๋ฉฐ, ์ด๋“ค ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜ ์˜ˆ์ œ ํฌํ•จ ํ™œ์šฉ๋ฒ•์„ ์ˆ™๋‹ฌํ•˜๋ฉด ์ฝ”๋“œ๊ฐ€ ํ›จ์”ฌ ํšจ์œจ์ ์œผ๋กœ ๋ฐ”๋€๋‹ˆ๋‹ค.


๐Ÿ”ฌ ์กฐ๊ฑด ํ™•์ธ๊ณผ ์‹คํ–‰ ํ๋ฆ„ ์ œ์–ด: all(), any(), enumerate()

ํ”„๋กœ๊ทธ๋žจ์˜ ๋…ผ๋ฆฌ์  ํ๋ฆ„์„ ์ œ์–ดํ•˜๊ฑฐ๋‚˜, ๋ฆฌ์ŠคํŠธ ์ „์ฒด์˜ ์กฐ๊ฑด์„ ํ•œ ๋ฒˆ์— ํ™•์ธํ•  ๋•Œ ์œ ์šฉํ•œ ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  1. all(): ์ดํ„ฐ๋Ÿฌ๋ธ” ๊ฐ์ฒด์˜ ๋ชจ๋“  ์š”์†Œ๊ฐ€ True์ด๋ฉด True๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. (๋นˆ ์ดํ„ฐ๋Ÿฌ๋ธ”์€ True)

    ์˜ˆ์ œ ์ฝ”๋“œ: ๋ชจ๋“  ์ˆซ์ž๊ฐ€ ์–‘์ˆ˜์ธ์ง€ ํ™•์ธ

    Python
    numbers1 = [1, 2, 3]
    numbers2 = [1, -2, 3]
    print(all(x > 0 for x in numbers1)) # True
    print(all(x > 0 for x in numbers2)) # False
    
  2. any(): ์ดํ„ฐ๋Ÿฌ๋ธ” ๊ฐ์ฒด์˜ ํ•˜๋‚˜๋ผ๋„ ์š”์†Œ๊ฐ€ True์ด๋ฉด True๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. (๋นˆ ์ดํ„ฐ๋Ÿฌ๋ธ”์€ False)

    ์˜ˆ์ œ ์ฝ”๋“œ: ํ•˜๋‚˜๋ผ๋„ ์Œ์ˆ˜๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธ

    Python
    print(any(x < 0 for x in numbers2)) # True
    
  3. enumerate(): ์ดํ„ฐ๋Ÿฌ๋ธ” ๊ฐ์ฒด๋ฅผ ์ˆœํšŒํ•  ๋•Œ ์ธ๋ฑ์Šค์™€ ์š”์†Œ๋ฅผ ํ•จ๊ป˜ ๋ฌถ์–ด ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. (๊ฐ€์žฅ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜ ์ค‘ ํ•˜๋‚˜)

    ์˜ˆ์ œ ์ฝ”๋“œ: ๋ฆฌ์ŠคํŠธ์˜ ์ธ๋ฑ์Šค์™€ ๊ฐ’ ์ถœ๋ ฅ

    Python
    fruits = ["์‚ฌ๊ณผ", "๋ฐ”๋‚˜๋‚˜", "์ฒด๋ฆฌ"]
    for index, fruit in enumerate(fruits):
        print(f"์ธ๋ฑ์Šค {index}: {fruit}")
    # ์ถœ๋ ฅ: ์ธ๋ฑ์Šค 0: ์‚ฌ๊ณผ, ์ธ๋ฑ์Šค 1: ๋ฐ”๋‚˜๋‚˜, ์ธ๋ฑ์Šค 2: ์ฒด๋ฆฌ
    

enumerate()๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด range(len(list))๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๊ฐ€๋…์„ฑ์ด ์ข‹๊ณ  ๋น ๋ฆ…๋‹ˆ๋‹ค. ์ด๋“ค ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜ ์˜ˆ์ œ ํฌํ•จ์„ ํ†ตํ•ด ์กฐ๊ฑด ํ™•์ธ ๋ฐ ๋ฃจํ”„๋ฅผ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


✍️ ๊ฒฐ๋ก : ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜ ๋งˆ์Šคํ„ฐ, ์ฝ”๋”ฉ ์‹ค๋ ฅ ํ–ฅ์ƒ์˜ ์ง€๋ฆ„๊ธธ!

์ง€๊ธˆ๊นŒ์ง€ ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜ ์˜ˆ์ œ ํฌํ•จํ•˜์—ฌ ์ž๋ฃŒํ˜• ๋ณ€ํ™˜(int, str), ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ(map, filter, zip), ์ •๋ ฌ/๊ฒ€์ƒ‰(max, sorted), ์กฐ๊ฑด ํ™•์ธ(all, any, enumerate) ๋“ฑ 10๊ฐ€์ง€ ํ•„์ˆ˜ ํ•จ์ˆ˜๋ฅผ ์ƒ์„ธํžˆ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜๋ฅผ ์ž˜ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ฝ”๋”ฉ์˜ ํšจ์œจ์„ฑ๊ณผ ๊ฐ€๋…์„ฑ์„ ๋™์‹œ์— ๋†’์ด๋Š” ๊ฐ€์žฅ ๋น ๋ฅธ ๊ธธ์ž…๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๋“ค์„ ๋ฐ˜๋ณต๋ฌธ์ด๋‚˜ ๋ณต์žกํ•œ ์กฐ๊ฑด๋ฌธ ๋Œ€์‹  ์ ์ ˆํžˆ ์‚ฌ์šฉํ•˜๋ฉด, ์ฝ”๋“œ๊ฐ€ ๊ฐ„๊ฒฐํ•ด์ง€๊ณ  ๋ฒ„๊ทธ ๋ฐœ์ƒ ํ™•๋ฅ ๋„ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜๋Š” ๋‹จ์ˆœํžˆ ์™ธ์šฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์‹ค์ œ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์ง์ ‘ ์‚ฌ์šฉํ•ด ๋ณด๊ณ  ๊ทธ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ก CTA: ์˜ค๋Š˜ ๋ฐฐ์šด ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜๋“ค์„ ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ธฐ์กด ์ฝ”๋“œ์— ์ ์šฉํ•ด ๋ณด์„ธ์š”! ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜ ์˜ˆ์ œ ํฌํ•จ ๊ฐ€์ด๋“œ๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด, ๋‹ค์Œ์—๋Š” ํŒŒ์ด์ฌ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋‹ค๋ฅธ ์œ ์šฉํ•œ ๋ชจ๋“ˆ(์˜ˆ: itertools, collections)์— ๋Œ€ํ•ด์„œ๋„ ๊นŠ์ด ์žˆ๊ฒŒ ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ถ๊ธˆํ•œ ์ ์€ ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š”!


FAQ (์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ)

Q1: ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜๋ฅผ ์ง์ ‘ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‚˜์š”?

A: ๋„ค, ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ์€ **ํ•จ์ˆ˜(function)**๋ฅผ ์ง์ ‘ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋„๋ก def ํ‚ค์›Œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜์™€ ์ด๋ฆ„์ด ์ค‘๋ณต๋˜์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด์žฅ ํ•จ์ˆ˜์™€ ๋™์ผํ•œ ์ด๋ฆ„์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๋ฉด ๋‚ด์žฅ ํ•จ์ˆ˜๊ฐ€ ๊ฐ€๋ ค์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Q2: map() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋ฐ˜ํ™˜๋˜์ง€ ์•Š๊ณ  <map object at ...>๋ผ๊ณ  ๋‚˜์˜ค๋Š”๋ฐ ์™œ ๊ทธ๋Ÿฐ๊ฐ€์š”?

A: map() ํ•จ์ˆ˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์„ฑ์„ ์œ„ํ•ด ์ดํ„ฐ๋ ˆ์ดํ„ฐ(iterator) ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ ๊ฒฐ๊ณผ ๊ฐ’์„ ํ™•์ธํ•˜๋ ค๋ฉด list() ํ•จ์ˆ˜๋กœ ๋ช…์‹œ์ ์œผ๋กœ ํ˜• ๋ณ€ํ™˜์„ ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. (์˜ˆ: list(map(ํ•จ์ˆ˜, ์ดํ„ฐ๋Ÿฌ๋ธ”))) ์ด๋Š” filter()๋‚˜ zip()์—๋„ ๋™์ผํ•˜๊ฒŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

Q3: sorted()์™€ ๋ฆฌ์ŠคํŠธ ๊ฐ์ฒด์˜ sort() ๋ฉ”์„œ๋“œ๋Š” ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ๋‚˜์š”?

A: ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜์ธ **sorted()**๋Š” ์ƒˆ๋กœ์šด ์ •๋ ฌ๋œ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ์›๋ณธ ๋ฆฌ์ŠคํŠธ๋Š” ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, ๋ฆฌ์ŠคํŠธ ๊ฐ์ฒด์˜ sort() ๋ฉ”์„œ๋“œ๋Š” ์›๋ณธ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ œ์ž๋ฆฌ์—์„œ(in-place) ์ •๋ ฌํ•˜๊ณ  ๋ฐ˜ํ™˜ ๊ฐ’์€ None์ž…๋‹ˆ๋‹ค. ์›๋ณธ ๋ฐ์ดํ„ฐ์˜ ๋ณด์กด ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์„ ํƒํ•˜์—ฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Q4: ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜ ์˜ˆ์ œ ํฌํ•จ ์™ธ์— ๋” ๋งŽ์€ ํ•จ์ˆ˜๋ฅผ ๋ณด๋ ค๋ฉด ์–ด๋””๋ฅผ ์ฐธ๊ณ ํ•ด์•ผ ํ•˜๋‚˜์š”?

A: ๊ฐ€์žฅ ์ •ํ™•ํ•˜๊ณ  ๊ณต์‹์ ์ธ ์ •๋ณด๋Š” **ํŒŒ์ด์ฌ ๊ณต์‹ ๋ฌธ์„œ(Python Documentation)**์˜ "Built-in Functions" ์„น์…˜์„ ์ฐธ๊ณ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜์˜ ์ •์˜, ๋งค๊ฐœ๋ณ€์ˆ˜, ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•œ ์ƒ์„ธํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋Œ“๊ธ€