프로그래밍/Python

2차원 리스트 슬라이싱

에리카네스 2022. 7. 23. 23:14
field = [
['O', 'X', 'O', 'X', 'O'],
['X', 'O', 'X', 'O', 'X'],
['O', 'O', 'O', 'X', 'X'],
['X', 'X', 'X', 'O', 'O'],
['X', 'X', 'O', 'X', 'X'],
]

 

위와 같은 2차원 리스트가 존재할 때 인덱스 0, 0부터 2, 2까지 슬라이싱은 arr[0:2][0:2]가 아니다.

행으로 나누어서 1차원 리스트를 슬라이싱 한 것을 합쳐야 한다.

 

# 리스트 컴프리헨션 사용
field2x2 = [row[0:2] for row in field[0:2]]

# for문을 이용한 접근
for row in field[0:2]:
  row[0:2] # do something