1. 삼항 연산자(tenary Operator)
if-else 문을 간단히 표현하기 위한 Python의 표현식
구문 형식 : 값1 if 조건 else 값2
x = 10
result = "양수" if x > 0 else "음수"
print(result) # 출력: 양수
2. 리스트 컴프리헨션
반복문을 사용해 리스트를 간결하게 생성하는 방법
구문 형식 : [표현식 for 변수 in 반복 가능한 객체 if 조건]
numbers = [1, 2, 3, 4, 5]
squared = [x**2 for x in numbers]
print(squared) # 출력: [1, 4, 9, 16, 25]
numbers = [1, 2, 3, 4, 5]
even_numbers = [x for x in numbers if x % 2 == 0]
print(even_numbers) # 출력: [2, 4]
3. 딕셔너리 컴프리헨션
딕셔너리 데이터를 생성할 때 리스트 컴프리헨션과 유사한 방식으로 작성하는 방법
구문 형식 : {키: 값 for 변수 in 반복 가능한 객체 if 조건}
numbers = [1, 2, 3, 4, 5]
squared_dict = {x: x**2 for x in numbers}
print(squared_dict) # 출력: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
4. 집합 컴프리헨션
중복을 제거한 집합 데이터를 생성할 때 사용
구문 형식 : {표현식 for 변수 in 반복 가능한 객체 if 조건}
numbers = [1, 2, 3, 4, 4, 5]
unique_squares = {x**2 for x in numbers}
print(unique_squares) # 출력: {1, 4, 9, 16, 25}
5. 제너레이터 표현식
리스트 대신 메모리를 절약하며 값을 생성하는 제너레이터 객체를 만드는 방법
구문 형식 : (표현식 for 변수 in 반복 가능한 객체 if 조건)
numbers = [1, 2, 3, 4, 5]
squared_gen = (x**2 for x in numbers)
print(list(squared_gen)) # 출력: [1, 4, 9, 16, 25]
6. 삼항 연산자와 리스트 컴프리헨션의 조합
numbers = [-3, -2, -1, 0, 1, 2, 3]
result = ["양수" if x > 0 else "음수 또는 0" for x in numbers]
print(result)
# 출력: ['음수 또는 0', '음수 또는 0', '음수 또는 0', '음수 또는 0', '양수', '양수', '양수']
7. 비슷한 Python 함수
7-1. map() 함수
map()은 반복 가능한 객체의 각 요소에 함수를 적용하는 방법
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers)) # 리스트 컴프리헨션으로도 가능
print(squared) # 출력: [1, 4, 9, 16, 25]
7-2. filter() 함수
조건에 맞는 요소만 필터링
numbers = [1, 2, 3, 4, 5]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers)) # 리스트 컴프리헨션으로도 가능
print(even_numbers) # 출력: [2, 4]
'Today I learned' 카테고리의 다른 글
The Boston Housing Dataset(보스턴 주택 가격 데이터셋) (18) | 2024.12.18 |
---|---|
*args와 **kwargs (2) | 2024.12.17 |
WIL (5) | 2024.12.13 |
2024.12.13 간단한 TIL (1) | 2024.12.13 |
2024.12.12 Git Bash로 venv 관리 (7) | 2024.12.12 |