리스트 내포

리스트 내포 처리 과정

  1. 항목들을 순차적으로 하나씩 꺼내온다.
  2. 조건식을 적용하여 해당 조건에 맞는 항목은 추출하고, 조건에 맞지 않으면 무시한다.
  3. 위에서 추출한 항목은 리스트에 추가한다.

기본적인 리스트 내포 형식

<aside> 💡 [ 표현식 for 변수 in 항목들 ]

</aside>

list1 = [10, 20, 30, 40, 50]

# 리스트 그대로 추출
# [표현식 for 변수 in 항목들]
print([x for x in list1])

>>> [10, 20, 30, 40, 50]

# 리스트 요소에 5씩 더한 리스트
# [표현식 for 변수 in 항목들]
print([x+5 for x in list1])

>>> [15, 25, 35, 45, 55]

# 리스트 요소에 2씩 곱한 리스트
# [표현식 for 변수 in 항목들]
print([x*2 for x in list1])

>>> [20, 40, 60, 80, 100]

조건 있는 리스트 내포 형식

<aside> 💡 [ 표현식 for 변수 in 항목들if 조건 ]

</aside>

num = [-20, -10, 0, 10, 20]

# 1을 리스트 요소로 나눈 값
# [표현식 for 변수 in 항목들 if 조건]
print(1/x for x in num if x != 0]
	# 1) x = -20 (if x != 0 : x가 0이 아닐 경우)
			1/-20 = -0.05
			[-0.05]
	# 2) x = -10 (if x != 0 : x가 0이 아닐 경우)
			1/-10 = -0.1
			[-0.05, -0.1]
	# 3) x = 0 (if x != 0 : x가 0이 아닐 경우)
			x 는 0이다 (넘어감)
			[-0.05, -0.1]
	# 4) x = 10 (if x != 0 : x가 0이 아닐 경우)
			1/10 = 0.1
			[-0.05, -0.1, 0.1]
	# 5) x = 20 (if x != 0 : x가 0이 아닐 경우)
			1/20 = 0.05
			[-0.05, -0.1, 0.1, 0.05]

>>> [-0.05, -0.1, 0.1, 0.05]