λλ€ ν¨μ
- νμ΄μ¬μμ μ΅λͺ
μ ν¨μλ₯Ό λ§λ€κΈ° μν΄ μ¬μ©λλ κ°λ¨ν ν μ€μ§λ¦¬ ν¨μμ
λλ€.
- μ£Όλ‘ κ°λ¨ν μ°μ°μ΄λ ν¨μλ₯Ό μΈλΌμΈμΌλ‘ μ μν λ μ μ©νκ² νμ©λ©λλ€.
- 볡μ‘ν λ‘μ§μ΄λ μ¬λ¬ μ€μ μ½λλ₯Ό κ°λ ν¨μλ₯Ό μ μν λλ μΌλ°μ μΈ def ν€μλλ₯Ό μ¬μ©νλ ν¨μ μ μκ° λ μ ν©ν©λλ€.
- lambda ν€μλλ₯Ό μ¬μ©νμ¬ μ μλλ©°, **ννμ**μ ν¨μμ λ°νκ°μ λνλ
λλ€.
lambda 맀κ°λ³μ: ννμ
#μμ
add = lambda x, y: x + y
result = add(3, 5)
print(result) # μΆλ ₯ κ²°κ³Ό: 8
λλ€ ν¨μμ νμ©
add = lambda x, y: x + y
result = add(3, 5) # κ²°κ³Ό: 8
square = lambda x: x**2
result = square(4) # κ²°κ³Ό: 16
compare_length = lambda s1, s2: len(s1) == len(s2)
result = compare_length("apple", "orange") # κ²°κ³Ό: True
is_even = lambda x: "Even" if x % 2 == 0 else "Odd"
result1 = is_even(4) # κ²°κ³Ό: "Even"
result2 = is_even(7) # κ²°κ³Ό: "Odd"
- 리μ€νΈμ νμλ§ νν°λ§:
numbers = [1, 2, 3, 4, 5]
filtered_odd = filter(lambda x: x % 2 != 0, numbers)
result = list(filtered_odd) # κ²°κ³Ό: [1, 3, 5]
points = [(1, 2), (3, 1), (5, 4)]
sorted_points = sorted(points, key=lambda x: x[1])
# κ²°κ³Ό: [(3, 1), (1, 2), (5, 4)], λ λ²μ§Έ μμλ₯Ό κΈ°μ€μΌλ‘ μ€λ¦μ°¨μ μ λ ¬
λλ€ν¨μ μμ
#μ£Όμ΄μ§ λ¬Έμμ΄ λ¦¬μ€νΈμμ κ° λ¬Έμμ΄μ κΈΈμ΄λ₯Ό κΈ°μ€μΌλ‘ μ€λ¦μ°¨μμΌλ‘ μ λ ¬ν΄λ³΄μΈμ.
#(ννΈ: sorted ν¨μμ λλ€ ν¨μ νμ©)
words = ["banana", "kiwifruit", "orange", "apple", "grape"]
words.sort(key=lambda x: len(x))
print("1λ² ",words)
#μ£Όμ΄μ§ μ«μ 리μ€νΈμμ νμλ§μ νν°λ§νμ¬ μλ‘μ΄ λ¦¬μ€νΈλ₯Ό μμ±ν΄λ³΄μΈμ.
#(ννΈ: filter ν¨μμ λλ€ ν¨μ νμ©)
numbers = [2, 7, 4, 9, 12, 16, 21, 24]
#filterλ μννλ©΄μ 쑰건μ λ§μ‘±νλ μμλ€μ κ±Έλ¬λ΄μ΄ μλ‘μ΄ iterableμ μμ±
#μλ‘μ΄ iterableμ λ°ννλ―λ‘, listν¨μλ‘ κ°μ²΄>리μ€νΈλ‘ λ³νν΄μΌν¨
print("2λ² ",list(filter(lambda x: x%2==1, numbers)))
#λ μ«μμ μ°μ°μ('+', '-', '*', '/')λ₯Ό μ
λ ₯λ°μ
#ν΄λΉ μ°μ°μ μννλ κ³μ°κΈ° ν¨μλ₯Ό μμ±ν΄λ³΄μΈμ.
#(ννΈ: μ‘°κ±΄λΆ ννμμ μ¬μ©ν λλ€ ν¨μ νμ©)
"""
def calculator(x, y, op):
if op == '+':
return x + y
elif op == '-':
return x - y
elif op == '*':
return x * y
elif op == '/':
return x / y
else:
return "Invalid operator"
"""
#λλ€ν¨μ μ μ
input = input("μ«μ 2κ°λ₯Ό μ
λ ₯νμΈμ(곡백μΌλ‘ ꡬλΆ): ")
numbers = list(map(lambda num: int(num), user_input.split(' ')))
x, y = numbers
operators=['+','-','*','/']
caculator = lambda x,y,op : x+y if op=='+' else x-y if op=='-' else x*y if op=='x' else x/y if op=='/' else "invalid operator"
#μΆλ ₯
for op in operators:
result = calculator(x,y,op)
print(f"{op}λ {result}")