-
23.6 연습문제 3차원 리스트 만들기코딩도장 심사문제모음 2020. 10. 15. 15:15728x90
다음 소스 코드를 완성하여 높이 2, 세로 크기 4, 가로 크기 3인 3차원 리스트를 만드세요(리스트 표현식 사용).
풀이.1
내가 접근한 방식으로는 어짜피 가로크기 3등으로 톱니형 리스트가 아니기에 [0] * 3 을 이용했다.
이것도 정답이랑 동일하게 출력이 된다.
a = [[[0] * 3 for j in range(4)] for i in range(2)]
print(a)
::
[[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]]
""" [[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0]]
[[[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0]],
[[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0]]]"""
풀이.2
x, y, z 축을 기준으로 작성
x == 가로
y == 세로
z == 높이
a = [[[0 for x in range(3)] for y in range(4)] for z in range(2)]
print(a)
::
[[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]]
기타.1
a = [[[0] * 3 for i in range(4)] * 2]
print(a)
::
[[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]]
풀이_1, 2 와의 차이점
풀이 1,2 == 높이 2의 리스트가 적용된 것이 아닌, 단순 반복으로 0 ~ 7행까지 2차원 리스트가 반복댐!!
핵심 포인트
- 리스트 = [[[값, 값], [값, 값]], [[값, 값], [값, 값]], [[값, 값], [값, 값]]]
- 리스트[높이인덱스][세로인덱스][가로인덱스]
- 리스트[높이인덱스][세로인덱스][가로인덱스] = 값
728x90'코딩도장 심사문제모음' 카테고리의 다른 글
24.4 연습문제 : 파일 경로에서 파일명만 가져오기 (0) 2020.10.23 23.7 지뢰찾기(어려움..) (0) 2020.10.18 22.10 심사문제 2의 거듭제곱 리스트 생성하기 (0) 2020.10.14 21.6 심사문제 별 그리기(터틀 그래픽스) (0) 2020.10.12 20.8 심사문제 5와 7의 배수, 공배수 처리하기(입력값) (0) 2020.10.09