WjExplor Story

리스트를 문자열 길이에 따라 정렬하기 본문

Python/Python : Code Study

리스트를 문자열 길이에 따라 정렬하기

더블유제이플로어 2025. 9. 26. 00:24

문제 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