Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- 프로그래머스lv2
- 람다식
- 인프런
- 유도클래스
- 스택
- 다형성
- 멤버함수로구현
- 기본클래스
- OOP
- 주피터
- 연산자오버로딩
- 11382번
- 백준
- 포인터
- python
- 참조자
- OpenCV
- 깊은복사
- C++
- 상속
- c++코딩테스트합격자되기
- 점프투파이썬
- 코딩테스트
- 데이터사이언스
- 코드잇
- 동적바인딩
- STL
- 제네릭프로그래밍
- list comprehension
- 얕은복사
Archives
- Today
- Total
WjExplor Story
리스트 중첩 본문
문제 13. 리스트 중첩
다음 2차원 리스트에서 모든 원소를 하나의 리스트로 합치세요
matrix = [[1, 2], [3, 4], [5, 6]]
Q. 대체 이건 어디부터 시작해야하나?
A. 가장 직관적으로 중첩된 for 루프를 사용해보자.
1. 중첩된 `for` 루프 사용 (가장 기본적인 방법)
이 방법은 2차원의 리스트의 각 하위 리스트(sublist)를 순회하고, 그 하위 리스트의 각 원소를 다시 순회하면서 새로운 리스트에 추가하는 방법이다.
즉, 모든 원소를 불러와서 하나씩 저장하는 for문을 만들어보자.
matrix = [[1, 2], [3, 4], [5, 6]]
matrix_list = [] # 합쳐진 원소들을 담을 빈 리스트를 만듭니다.
for sublist in matrix:
# 각 하위 리스트(sublist)의 원소(item)를 순회합니다.
for item in sublist:
# 각 원소를 새로운 리스트에 추가한다.
matrix_list.append(item)
print(matrix_list)
2. 리스트 컴프리헨션 사용 (더 파이썬스러운 방법)
위의 중첩된 `for` 루프를 한 줄로 압축한 것이 바로 **중첩된 리스트 컴프리헨션** 이다.
matrix = [[1, 2], [3, 4], [5, 6]]
matrix_list = [item for sublist in matrix for item in sublist]
print(matrix_list)
* [item for sublist in matrix item in sublist] : for 루프의 순서와 동일하게 matrix 에서 sublist 를 가져오고, 그 sublist 에서 item 을 가져와 item 을 새로운 리스트에 추가하는 의미이다.
파이썬에서는 보통 두 번째 리스트 컴프리헨션 방법을 선호한다.
'Python > Python : Code Study' 카테고리의 다른 글
| 리스트를 문자열 길이에 따라 정렬하기 (0) | 2025.09.26 |
|---|---|
| 두 리스트를 이용해 딕셔너리 생성 (0) | 2025.09.25 |
| *args의 역할 (0) | 2025.09.25 |
| 파이썬 리스트 컴프리헨션 (List Comprehension) (0) | 2025.09.25 |
| [Microsoft 공식 문서] 초보자를 위한 Python Git 링크 (0) | 2025.09.24 |