Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- 포인터
- 유도클래스
- c++코딩테스트합격자되기
- 동적바인딩
- OOP
- 참조자
- 주피터
- 인프런
- 연산자오버로딩
- 람다식
- 깊은복사
- 점프투파이썬
- 코딩테스트
- 백준
- OpenCV
- 11382번
- list comprehension
- 데이터사이언스
- 프로그래머스lv2
- STL
- 상속
- 다형성
- python
- 얕은복사
- 코드잇
- 제네릭프로그래밍
- 멤버함수로구현
- 스택
- C++
- 기본클래스
Archives
- Today
- Total
WjExplor Story
리스트를 문자열 길이에 따라 정렬하기 본문
문제 15. 람다와 정렬
다음 리스트를 문자열 길이에 따라 정렬하세요.
words = ["apple", "kiwi", "banana", "cherry"]
# 내가 작성한 오류 코드
words = ["apple", "kiwi", "banana", "cherry"]
func_len = [x: len(words).max ]
오류 분석
→ [x:..]는 람다 함수 문법이 아니다.
람다 함수 문법은
lambda 인자 : 표현식
(1) 인자가 없는 람다 함수 (anonymous Function)
: def 키워드로 정의하는 일반 함수와 달리 이름이 없다.
greet = lambda "안녕하세요!"
print(greet)
(2) 인자가 하나인 람다 함수
square = lambda x : x**2
print(square(6)) # 36
(3) 인자가 여러 개인 람다 함수
add = lambda a,b : a+b
print(add(5,6)) # 11
(4) 조건문을 포함한 람다 함수 (표현식 내에서)
# 짝수면 "Even" 홀수면 "Odd" 반환 람다 함수
check_even_odd = lambda num : "Even" if num % 2 == 0 else "Odd"
print(check_even_odd(4)) # Even
print(check_even_odd(7)) # Odd
(5) sorted() 함수와 함께 사용 (이번 예제)
words = ["apple", "kiwi", "banana", "cherry"]
# 문자열 길이를 기준으로 정렬
sorted_by_length = sorted(words, key=lambda word : len(word))
print(sorted_by_length)
sorted(word,...) : words 리스트를 정렬하라는 의미이다.
sorted() 함수와 lambda 를 사용하여 문자열 길이에 따라 정렬
key = lambda word : len(word) 부분이 핵심이다.
'Python > Python : Code Study' 카테고리의 다른 글
| datetime 모듈의 timedelta (0) | 2025.09.26 |
|---|---|
| 두 리스트를 이용해 딕셔너리 생성 (0) | 2025.09.25 |
| 리스트 중첩 (0) | 2025.09.25 |
| *args의 역할 (0) | 2025.09.25 |
| 파이썬 리스트 컴프리헨션 (List Comprehension) (0) | 2025.09.25 |