파이썬에서는 리스트를 더 간결하고 간편하게 만들기 위해 List Comprehension라는 것을 사용할 수 있다.
기본 구조
[식 for 변수 in iterable]
식(expression): 리스트에 추가될 새로운 요소
변수(item): 반복적으로 가져오는 변수
iterable: 반복 가능한 객체(리스트, 튜플, 집합 등)
a = [i*2 for i in range(10)]
print(a)
if 조건문 사용
[식 for 변수 in iterable if 조건문]
a = [i*2 for i in range(10) if i%2 == 0]
print(a)
다중 반복문
[식 for 변수 in iterable for 변수2 in iterable2]
a = [(x, y) for x in [1,2,3] for y in [3,1,4] if x != y]
print(a)
# [(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]
중첩 List Comprehension
[[식 for 변수 in iterable] for in iterable2]
matrix = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
]
a = [[row[i] for row in matrix] for i in range(4)]
print(a)
# [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
728x90
'Python' 카테고리의 다른 글
[Python] reverse와 reversed의 차이 (0) | 2024.06.24 |
---|---|
[Python] 특정 요소의 인덱스 구하기(find, index) (0) | 2024.06.22 |