개발기초
파이썬 기초문법 뽀개기 : 한 줄의 마법, 코드 줄여쓰기
Veams
2022. 11. 21. 20:22
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]