본문 바로가기
Python

14. 파이썬 - 축약식(Comprehension)

by 새싹_v 2022. 9. 14.
728x90


 

 

축약식

축약식은 긴 코드를 간략하게 줄일 수 있다.
남용한다면 오히려 가독성이 떨어지고 코드 관리가 힘들 수 있다.

list, set, tuple, dict 자료형이 축약식을 지원

 

- list, tuple, set 활용법

# [list에 담길 값 for 요소 in 리스트]
numbers = [x for x in range(7)] # [0, 1, 2, 3, 4, 5, 6]
print(numbers)

# 조건문은 축약식 뒷부분에 작성하며, 축약식이 True인 경우 list에 값이 담긴다.
even_numbers = [x for x in range(20) if x % 2 == 0] # [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
print(even_numbers)

#리스트안 튜플
people = [
    ("lee", 55),
    ("kim", 100),
    ("park", 80),
    ("hong", 65),
    ("kang", 70)
]

average_score = sum([x[1] for x in people]) / len(people) #x[1]은 people리스트안에 1행을 가리킨다.
print(average_score) #74.0

 

 

- dictionary 활용법

# dictionary 축약식의 구조는 list와 동일하지만, key / value 형태로 지정해야 합니다.
people = [
    ("lee", 32, "man"),
    ("kim", 23, "man"),
    ("park", 27, "woman"),
    ("hong", 29, "man"),
    ("kang", 26, "woman")
]

people = {name: {"age": age, "gender": gender} for name, age, gender in people}
print(people)

# {
#     'lee': {'age': 32, 'gender': 'man'}, 
#     'kim': {'age': 23, 'gender': 'man'}, 
#     'park': {'age': 27, 'gender': 'woman'}, 
#     'hong': {'age': 29, 'gender': 'man'}, 
#     'kang': {'age': 26, 'gender': 'woman'}
#     }

 

 

 

위에 글 내용은 오류 사항이 존재할 수 있습니다!

수정 사항이 있을 시 알려주시면 감사하겠습니다.

위 글은 내일배움캠프 강의내용을 많이 참고함.

 

728x90

댓글