2024.12.16 삼항연산자, 컴프리헨션

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