상세 컨텐츠

본문 제목

[Python List comprehension] 리스트 캄프리헨션 공부

Python

by donggyu1998 2021. 11. 2. 01:07

본문

반응형

💡 [List comprehension]

파이썬에는 다음과 같은 크게 네 가지 종류의 Comprehension이 있다.

  • List Comprehension (LC)
  • Set Comprehension (SC)
  • Dict Comprehension (DC)
  • Generator Expression (GE)

그중에서 오늘 LC에 대해서 알아볼 것이다.

 

List comprehension은 리스트를 쉽게 생성하기 위한 방법이다. 이는 파이썬에서 보편적으로 사용되는 기능으로 조금만 응용하면 다양한 조건으로 리스트를 생성할 수 있는 강력한 기능중 하나이다.

 

print( 'List comprehension' )
a = [1, 10, 100, 1000]
b = [ value + 1 for value in a ]
print (b)
 출력 값 : [2, 11, 101, 1001]

 

a라는 배열에 1, 10, 100, 1000 값이 있다. 

만약 value를 만들고 value에 +1씩 값을 추가하고 싶은데 반복문을 돌려서 다 추가 해줘야할까? 

코드를 어떤식으로 진행 해야될까 ?

우리는 이렇게 생각을 할 수 있다. 

 

b는 List comprehension을 활용한 case 이다.

[ ( 변수를 활용한 값 ) for ( 사용할 변수 이름 ) in ( 순회할 수 있는 값 )]

변수를 활용한 값 : value에 + 1 

사용할 변수 이름 : balue

순회할 수 있는 값 : a 

 

이렇기 때문에 출력값은 +1씩 활용이 되어서 나온 값이된 것 이다.

 

size = 10
arr = [i * 2 for i in range(size)]

print(arr)

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

예제를 하나 더 살펴보자.

0, 1x2, 2x2, 3x2 ..... 

 

순회할 수 있는 값은 range(size=10)이 되고 i라는 변수에 *2씩 하게된 것이다. 

우리는 위에 보이는 것 처럼 0~9까지 반복되는 숫자에 i라는 변수를 두고 출력만 해왔다면 

이렇게 작성할 경우 한 번에 변수 활용한 값 처리까지 가능하다. 

 

이렇게 사용하게 되면 다양한 자료구조 활용, 조건문 필터링 등 매우 다양하면서도 깔끔한 코드를 작성할 수 있게된다.

반응형

관련글 더보기