파이썬에는 다음과 같은 크게 네 가지 종류의 Comprehension이 있다.
그중에서 오늘 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라는 변수를 두고 출력만 해왔다면
이렇게 작성할 경우 한 번에 변수 활용한 값 처리까지 가능하다.
이렇게 사용하게 되면 다양한 자료구조 활용, 조건문 필터링 등 매우 다양하면서도 깔끔한 코드를 작성할 수 있게된다.
[Python 스터디] list comprehension 활용하기 (0) | 2021.11.09 |
---|---|
[Python 스터디] Threading 활용하기 (0) | 2021.11.09 |
[Python 스터디] 반복문으로 1~12까지 출력, 비교 연산자 활용 (0) | 2021.11.02 |
[Python 스터디] random 함수를 사용하여 난수 확인 (0) | 2021.11.02 |
[Python 스터디] class 에 대해 알아보자 (3) (0) | 2021.11.02 |