/* 본 게시물은 ' ' 의 내용과 참고자료를 토대로 작성되었습니다. */
/* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */
참고 자료
[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]
반응형