Idealim
article thumbnail

/* 본 게시물은 ' ' 의 내용과 참고자료를 토대로 작성되었습니다. */

/* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */

참고 자료

[Tae's note - 리스트, 집합, 사전 표기법] : https://taes-note.tistory.com/106


리스트 표기법 (List Comprehensions)

기본적으로 리스트 표기법은 다음과 같은 형식이다.

[표현식 for 값 in collection if condition]

collection(list, tuple, dict 등..) 값들 중 condition 에 해당하는 애들을 표현하여 리스트에 추가한다.

result = []
for value in collection :
    if condition :
        result.append(expression)

리스트 표현식을 사용하면 위 코드를 한줄로 간단하게 구현할 수 있다.

 

예시

strings = ['hello', 'world', 'python', 'so']
result = [x.upper() for x in strings if len(x) > 5]
print(result) # ['PYTHON']

문자열 리스트에서 길이가 5이상인 문자열을 대문자로 바꾼 원소들로 리스트를 생성

 

#삼항 연산자
import numpy as np
xarr = np.array([1.1, 1.2, 1.3, 1.4, 1.5])
yarr = np.array([2.1, 2.2, 2.3, 2.4, 2.5])
cond = np.array([True, False, True, True, False])

# cond 의 값이 True 일 때는 xarr의 값을 취하고 아니면 yarr의 값을 취하고 싶다면 리스트 표기법을을 이용해서 다음과 같이 작성할 수 있다.
result = [(x if c else y) for x ,y ,c in zip(xarr, yarr, cond)]
print(result) # [1.1, 2.2, 1.3, 1.4, 2.5]
반응형
profile

Idealim

@Idealim

읽어주셔서 감사합니다. 잘못된 내용이 있으면 언제든 댓글로 피드백 부탁드립니다.