Computer Science/Algorithm

[Algorithm] 리스트 컴프리헨션 (List Comprehension)

728x90

 

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

파이썬의 꽃이라고도 할 수 있죠!

[대괄호] 안에 for문과 if문을 넣어 간단하게 리스트를 생성하는 방법을 말한다

2차원 배열을 생성할 때도 편리하고, 여러 줄로 작성할 코드를 한 줄로 줄여준다

 

 

 

예시

😢 리스트 컴프리헨션 없이 '20 이하 2의 배수 리스트' 생성하기

list_a = []

for i in range(1, 20):
	if i % 2 == 0:
    	list_a.append(i)

print(list_a)
# [2, 4, 6, 8, 10, 12, 14, 16, 18]

 

 

😆 리스트 컴프리헨션으로 '20 이하 2의 배수 리스트' 생성하기

list_a = [i for i in range(1, 20) if i % 2 == 0]

print(list_a)
# [2, 4, 6, 8, 10, 12, 14, 16, 18]

 

 

🙋 2차원 배열을 입력받을 때 사용할 수 있다

입력이 다음과 같을 때

1 2 3
4 5 6
7 8 9

 

다음 코드로 2차원 배열을 생성하여 저장할 수 있다

list_a = [list(map(int, input().split())) for _ in range(3)]

print(list_a)
# [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

 

 

 

 

 

 

📚 참고서적 : 이것이 코딩테스트다 with 파이썬

 

 

728x90