개발기초

파이썬 기초문법 뽀개기 : 한 줄의 마법, 코드 줄여쓰기

Veams 2022. 11. 21.

 

if문 

삼항연산자 사용시, 다음과 같이 활용이 가능하다.

예시1

people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby', 'age': 57},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]
def check_adult(person):
    if person['age'] > 20:
        return '성인'
    else:
        return '청소년'

result = map(check_adult, people)
print(list(result))

실행결과 ==>

['청소년', '성인', '청소년', '청소년', '성인', '성인', '성인', '성인']

 

위 코드의 4줄짜리 if-else 문을 다음과 같이 한 줄로 줄여서 사용할 수 있다.

당연히 결과 값은 동일하다.

 

people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby', 'age': 57},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]
def check_adult(person):
    return '성인' if person['age'] > 20 else '청소년'

result = map(check_adult, people)
print(list(result))

실행결과 ==> 

['청소년', '성인', '청소년', '청소년', '성인', '성인', '성인', '성인']

 

 

 

예시2

num = 3

if num % 2 == 0:
    result = '짝수'
else:
    result = '홀수'
    
# 위 if else의 4줄 짜리 코드를 다음과 같이 한 줄로 줄여 쓸 수 있다.
result = ('짝수' if num % 2== 0 else '홀수')

print(f'{num}은 {result}입니다')

실행결과 ==> 

3은 홀수입니다

 

 

 

for문

a_list = [1,3,2,5,1,2]

b_list = []
for a in a_list:
    b_list.append(a*2)

print(b_list)

 

위 코드를 다음과 같이 줄여볼 수 있다.

a_list = [1,3,2,5,1,2]

b_list = [a*2 for a in a_list]
# a_list 안에 있는 a를 반복하는데, 그때마다 a곱하기 2를 한다.
# 그 다음에 그 값들을 다 리스트로 묶어라

print(b_list)

실행결과 ==>

[2, 6, 4, 10, 2, 4]

댓글