[Algorithm] Python Algorithm
[python] "코테"를 위한 기초 파이썬 (2) - List Comprehension & Lambda
mingyung
2024. 2. 20. 22:50
이번 포스팅에서는 List Compeohension에 대해서 알아본다.
List Comprehension
잘쓰면 좋지만 길어지면 머리가 아픈 List Comprehension에 대해서 알아보자.
일반적으로 list를 사용할 때 우리는 다음과 같은 문법을 사용하게 된다.
arr=[0]*10
for i in range(10):
arr[i] = i
즉 우리는 선언과, 값 할당을 분리해서 사용한다.
List Comprehension은 이 과정을 한번에, 한 줄로 가능하게 한다.
기본적인 문법은 다음과 같다
[ (변수를 활용하여 만들 값) for (변수 명) in (순회가능한 값)]
사용예시
#가장 기본적인 형태
one_list = [i for i in range(10)]
# if else문을 사용해볼 수 있다.
one_list = [1 if x in val else 0 for val in data]
아잇 이게 뭔 말인가 싶을 수 있는데, comprehension을 본 때 for 이후부터 살펴보먄 이해가 가능하다.
[1 if x in val else 0 for val in data]
data 에서 한개의 원소를 꺼내어 val이라 하고,
[1 if x in val else 0 for val in data]
val에 값이 있으면 1, 아니면 0을 값으로 하겠다는 의미이다.