컴퓨터공학 💻 도서관📚

파이썬 List Comprehension (리스트 컴프리헨션) 본문

💻☕프로그래밍 언어/Python

파이썬 List Comprehension (리스트 컴프리헨션)

들판속초록풀 2024. 11. 12. 11:10

comprehension 영단어 뜻은 이해, 이해력, 포용력 이다.

List Comprehension 을 이용하면 리스트의 모든 요소를 단 한 줄로 관여할 수 있다

 

 

 

  • 표현식 + for문 형식
# case 1
result = [int(input()) for i in range()]

# case 2
result = [list(map(int, input().split())) for i in range(n)]

# case 3
result = [[0]*n for i in range(n)]

 

 

  • 표현식 + for문 + 조건문 형식
# case 1
n = 10

result = [i for i in range(n) if i % 2 == 0]
print(result)

# 출력 결과 :  [0, 2, 4, 6, 8]


# case 2
left_side = [x for x in tail if x <= pivot]
right_side = [x for x in tail if x > pivot]
# 조건문을 2개 사용하는 경우

result = [i for i in range(30) if i%2 == 0 if i%3 == 0]
print(result)

# 출력 결과 :  [0, 6, 12, 18, 24]

 

 

  • True/False 표현식  +  if 조건문 else  +  True/False 표현식  +  for문 형식

else 까지 써야 하는 경우라면 조건문이 for문보다 선행한다.

n = 5

result = [False if i % 2 == 0 else True for i in range(n)]
print(result)

# 출력 결과 :  [False, True, False, True, False]

 

 

  • 중첩 for문 형식
a = [1, 2]
b = [9, 8]

result = [(i,j) for i in a for j in b]
print(result)

# 출력 결과 :  [(1, 9), (1, 8), (2, 9), (2, 8)]

 

 

 

 

 

참고)

https://code-angie.tistory.com/39

 

[Python] List Comprehension

코딩테스트 문제를 풀다 보면 문제를 입력받을 때, 이차원 배열을 받을 때가 많다. for문을 통해서 배열을 입력받을 때 빈 리스트에 한 줄씩 append 해줄 수 있지만, list comprehension을 이용하면 쉽게

code-angie.tistory.com

 

Comments