Python 기초4 별책부록

UICHEOL_HWANG·2023년 8월 9일

파이썬기초

목록 보기
6/12

다차원 배열일때마다 중첩 for문을 써줘야 하는 상황

L2 = [[[1,2,3,4],[1,2,3,4],[1,2,3,4],[1,2,3,4]]]

for i in L2:
  for j in i:
    for k in j:
      print(k,end='')
    print()

배열의 차원이 늘어나면 늘어날수록 중첩 for문을 사용한다

다른 예제

L = [1, 2, 3, 4, [5, 6, 7, [8, 9, 10]]]
#배열이 랜덤으로 보일수록 중첩 for문 if문을 엮어준다 

for i in L :
  if isinstance(i,list):
    for sub_i in i:
      if isinstance(sub_i,list):
        for semi_sub_i in sub_i:
          print(semi_sub_i,end=' ')
      else:
        print(sub_i,end=' ')
  else:
    print(i,end=' ')

for문 안에서 isinstance() 두가지 value 값을 넣는데
1. 첫번째는 해당 요소
2. 첫번째 요소가 무슨 타입인지?

예를 들어 for i in L을 돌면서 리스트가 보인다?
그럼 엮어주고

또 돌다보니 리스트가 다시 보인다면 같이 엮여주는데
이중 for문으로 한번 더 배열 안의 구간을 돌려줘야 볼 수 있다.

이게 생각보다 어려운 문제인데, chat gpt의 도움으로 해결할수 있었다
곧 배울 텐서플로에 응용하기 정말 좋은 문제였던 것 같다.

profile
개발 취미로 하는 세일즈맨

0개의 댓글