리스트 컴프리헨션 (List Comprehension)

최형택·2022년 2월 2일
0

1.컴프리헨션이란..?

사전적으로는 이해, 이해력, 포용, 포용력, 포함, 압축 등의 뜻을 가지고 있습니다.
그래서 저희가 알아볼 리스트+컴프리헨션은 직관적으로 리스트를 생성하는 방법입니다. 대괄호 "[", "]"로 감싸고 내부에 for문과 if 문을 사용하여 반복하며 조건에 만족하는 것만 리스트로 생성할 수 있습니다.

2.사용법

for i in range(10)
(들여쓰기)i*2

이런식이 있다고 가정할때 i*2가 for문 앞에 가는 형식입니다 .

이렇게

i*2 for i in range(10)

간편하게 한줄로 처리하는것이 리스트컴프리헨션입니다.

이번엔 좀더 복잡한식을 예시로 들겠습니다.

a=['1','2','3','4','5']라는 리스트가있고
b=['a','b','c','d','e']라는 리스트가있습니다.

이 두개의 리스트를 가지고 리스트컴프리헨션을 사용해 식을만들면

[o+p in for o in a for p in b]

==> ['a1','a2,''a3', 'a4' ..... 'e3','e4','e5'] 이런 결과가 나올것입니다.

그러나 리스트컴프리헨션을 사용하지않고 진행을하면

a=['1','2','3','4','5']
b=['a','b','c','d','e']

box_list=[] ==> 1. 빈리스트를 만들어준다음

(for o in a
for p in b) ==> 2.중첩반복문을 만들어준다음

box_list.append(o+p) ==> 3.어펜드를 사용해 빈리스트에 더한값을 추가해주어야하는 번거로운 식을 작성해야합니다

결론적으로 print(box_list)를 출력하면 앞선 리스트컴프리헨션과 같은 결과가 나옵니다.

0개의 댓글