만들기
리스트 = [[값, 값], [값, 값], [값, 값]]
접근
리스트[세로인덱스][가로인덱스]
리스트[세로인덱스][가로인덱스] = 값
a = [] # 빈 리스트 생성
for i in range(10):
a.append(0) # append로 요소 추가
print(a)
a = [] # 빈 리스트 생성
for i in range(3):
line = [] # 안쪽 리스트로 사용할 빈 리스트 생성
for j in range(2):
line.append(0) # 안쪽 리스트에 0 추가
a.append(line) # 전체 리스트에 안쪽 리스트를 추가
print(a)
세로 크기만큼 반복하면서 안쪽 리스트로 사용할 빈 리스트 line을 만듭니다.
그다음에 가로 크기만큼 반복하면서 line에 append로 0을 추가합니다. 바깥쪽 반복문에서는 다시 append로 전체 리스트 a에 안쪽 리스트 line을 추가하면 됩니다.
>>> a = [[0 for j in range(2)] for i in range(3)]
>>> a
[[0, 0], [0, 0], [0, 0]]
a = [[10, 20], [30, 40], [50, 60]]
for i in range(len(a)): # 세로 크기
for j in range(len(a[i])): # 가로 크기
print(a[i][j], end=' ')
print()
표준 입력으로 2차원 리스트의 가로(col)와 세로(row)가 입력되고 그 다음 줄부터 리스트의 요소로 들어갈 문자가 입력됩니다. 이때 2차원 리스트 안에서 *는 지뢰이고 .은 지뢰가 아닙니다. 지뢰가 아닌 요소에는 인접한 지뢰의 개수를 출력하는 프로그램을 만드세요.
col, row = map(int, input("입력: ").split())
가로 세로 input 받기
matrix = []
for i in range (row):
matrix.append(list(input("리스트: ")))
빈 리스트 생성하고 가로 만큼 리스트 붙이기
for i in matrix:
for j in i:
print(j, end=' ')
print()
받은 리스트 그대로 출력하는 코드
for i in range(row):
for j in range(col):
if matrix[i][j] == "*":
print(matrix[i][j], sep='', end='')
else:
count = 0
for x in range(i - 1, i + 2):
for y in range(j - 1, j + 2):
if x < 0 or y < 0 or x >= row or y >= col:
continue
elif matrix[x][y] == "*":
count += 1
print(count, sep='', end='')
print()
i j 를 for 반복으로 훑으면서 matrix[i][j]값이 * 과 같으면 그대로 출력
그렇지 않으면, count = 0 변수를 주고 x, y변수를 i,j 주위 +-1 씩을 훑으면서 주위가 지뢰면 count 하나씩 증가. (이때 훑을 때 범위 지정해줘야함. x,y가 0보다 작을 수 없음. 등)
마지막에 이걸 하나로 print
리스트[len(리스트):] = [값] # 리스트 끝에 값이 한 개 들어있는 리스트 추가
# 리스트.append(값)과 같음
리스트[len(리스트):] = [값, 값] # 리스트 끝에 다른 리스트 연결
# 리스트.extend([값, 값])과 같음
del 리스트[인덱스] # 특정 인덱스의 값 삭제, 리스트.pop(인덱스)와 같음
del 리스트[:] # 시작 인덱스와 끝 인덱스를 생략하여 리스트의 모든 값을 삭제, 리스트.clear()와 같음
for 변수 in 리스트: # 반복하면서 요소를 꺼내옴
반복할 코드
for 인덱스, 요소 in enumerate(리스트): # 반복하면서 인덱스와 요소를 꺼내옴
반복할 코드
for 인덱스 in range(len(리스트)): # 리스트의 길이로 반복
리스트[인덱스] # 인덱스로 요소에 접근
while 인덱스 < len(리스트): # 리스트의 길이로 반복
리스트[인덱스] # 인덱스로 요소에 접근
인덱스 += 1
리스트 안에 식, for 반복문, if 조건문 등을 지정하여 리스트(튜플)를 생성