오늘은 comprehension에 대해 공부했습니다.
매번 for문을 돌려 조건에 해당되면 빈 배열에 추가하는 식으로 코드를 짜다가 빈 배열을 만들지 않고 바로 리스트 형태로 반환하는 문법을 찾았습니다. 하지만 간결한만큼 가독성이 떨어진다는 단점도 함께 공부했습니다.
comprehension
- list,dictionary,set, generator comprehension이 있다.
- 코드가 간결하다
- 반복문으로 빈 배열을 만들고 추가하는 것 보다 속도가 빠르다.
- 새로운 배열을 만들때 유용하다.
- 하지만 가독성이 떨어진다는 단점이 있다
List Comprehension
- 표현식과 제어문을 통해 특정한 값을 가진 리스트를 간결하게 생성하는 방법
[표현식 for 변수 in iterable]
[표현식 for 변수 in iterable if 조건식]
예제
- 1~3의 세제곱의 결과가 담긴 리스트를 만드시오
# 빈 리스트로 만들고 해당 값을 append해서 리스트 만드는 방법
result = []
for number in range(1,4):
result.append(number**3)
print(result) # [1,8,27]
# list comprehension
[number**3 for number in range(1,4)]
dictionary Comprehension
- 표현식과 제어문을 통해 특정한 값을 가진 딕셔너리를 간결하게 생성하는 방법
{key:value for 변수 in iterable}
{key:value for 변수 in iterable if 조건문}
예제
- 1~3의 세제곱의 결과가 담긴 딕셔너리를 만드시오
# 빈 딕셔너리로 만들고 해당 값을 append해서 딕셔너리 만드는 방법
result = {}
for number in range(1,4):
result[number]=(number**3)
print(result) # {1: 1, 2: 8, 3: 27}
# list comprehension
{number: number**3 for number in range(1,4)} # {1: 1, 2: 8, 3: 27}
참고
geonoo9.log
멀티캠퍼스(hypergrowth) 자료
'개발언어 > python' 카테고리의 다른 글
[python/파이썬] 리스트 요소 회전하는 4가지 방법 - 음수인덱스/문자열슬라이싱/%모듈/deque (0) | 2023.02.01 |
---|---|
python 문자열 뒤집는 3가지 방법 - reversed / [::-1] / for (0) | 2023.01.04 |
가장 많이 쓰이는 print 공식문서로 톺아보기 (0) | 2023.01.04 |
for문 - range / enumerate() / 반복문 제어 (0) | 2023.01.03 |
if문 - if문/ 복수 if문 / 이중 if문 (2) | 2023.01.03 |
댓글