--- id: python-lambda title: "Python Lambda" category: "Programming_Language" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["lambda function", "anonymous function", "파이썬 람다"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.9 created_at: 2026-07-04 updated_at: 2026-07-04 review_reason: "" merge_history: [] tags: ["python", "programming", "w3schools", "lambda", "map", "filter", "sorted"] raw_sources: ["https://www.w3schools.com/python/python_lambda.asp"] applied_in: [] github_commit: "" --- # [[Python Lambda]] ## 🎯 한 줄 통찰 (One-line insight) A lambda is a small anonymous function limited to exactly one expression — its real power shows when a normal function returns a lambda closing over an outer argument, letting one function definition generate a whole family of specialized functions (like doubler/tripler). [S1] ## 🧠 핵심 개념 (Core concepts) - **Lambda function** — a small anonymous function; can take any number of arguments but only ONE expression. [S1] - **Syntax** — `lambda arguments : expression`. [S1] - **Function-returning-lambda pattern** — a normal `def` function can return a lambda that captures (closes over) the outer function's parameter, producing specialized functions. [S1] - **Common pairing with `map()`, `filter()`, `sorted()`** — lambdas are typically used as the throwaway function argument to these built-ins. [S1] ## 🧩 추출된 패턴 (Extracted patterns) - **Lambda-as-function-factory** — `def myfunc(n): return lambda a: a * n` demonstrates using a lambda's closure over `n` to generate `mydoubler = myfunc(2)` and `mytripler = myfunc(3)` from ONE function definition. [S1] - **`key=` argument idiom** — `sorted(list, key=lambda x: ...)` is the standard way to customize sort order without writing a named function. [S1] ## 📖 세부 내용 (Details) - Basic lambda: `x = lambda a : a + 10; print(x(5))`. [S1] - Multi-argument lambda: `x = lambda a, b, c : a + b + c`. [S1] - Function factory: `def myfunc(n): return lambda a : a * n; mydoubler = myfunc(2); mytripler = myfunc(3)`. [S1] - With `map()`: `doubled = list(map(lambda x: x * 2, numbers))`. [S1] - With `filter()`: `odd_numbers = list(filter(lambda x: x % 2 != 0, numbers))`. [S1] - With `sorted()` key: `sorted_students = sorted(students, key=lambda x: x[1])` (sort tuples by second element). [S1] ## ⚖️ 모순 및 업데이트 (Contradictions & updates) 소스에서 모순되는 정보는 발견되지 않음. ## 🛠️ 적용 사례 (Applied in summary) 현재 발견된 실제 적용 사례가 없습니다 — Sort Lists 챕터의 `key=` 커스텀 정렬이 여기서 람다로 완성된다. [S1] ## 💻 코드 패턴 (Code patterns) Lambda as a sort key (Python): ```python students = [("Emil", 25), ("Tobias", 22), ("Linus", 28)] sorted_students = sorted(students, key=lambda x: x[1]) ``` ## ✅ 검증 상태 및 신뢰도 - **상태:** draft - **검증 단계:** conceptual - **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body) - **신뢰 점수:** 0.90 - **중복 검사 결과:** 신규 생성 (New discovery) ## 🔗 지식 그래프 (Knowledge Graph) - **상위/루트:** [[Python Tutorial]] - **관련 개념:** [[Python Functions]], [[Python Lists Sort]], [[Python Lists Comprehension]] - **참조 맥락:** 짧은 익명 함수가 필요한 곳(map/filter/sorted의 key)에서 표준적으로 쓰인다. ## 📚 출처 (Sources) - [S1] W3Schools — Python Lambda — https://www.w3schools.com/python/python_lambda.asp ## 📝 변경 이력 (Change history) - 2026-07-04: Initial draft synthesized from the W3Schools "Python Lambda" page (Astra wiki-curation, P-Reinforce v3.1 format).