1. 학습
  2. /
  3. 강의
  4. /
  5. Python 도구 상자

Connected

연습 문제

중첩 리스트 컴프리헨션

좋아요! 이제 리스트 컴프리헨션의 기본 구문에는 꽤 익숙해지셨네요. 이번에는 코드를 한 단계 더 발전시켜 보겠습니다. 이 연습에서는 하나의 리스트 컴프리헨션 안에 또 다른 리스트 컴프리헨션을 작성하는, 즉 중첩 리스트 컴프리헨션을 만들어 볼 거예요. 조금 까다롭게 느껴질 수 있지만, 충분히 해내실 수 있습니다!

잠시 문자열에서 벗어나 볼까요. 리스트는 행렬처럼 다차원 객체를 표현할 때도 자주 사용됩니다. Python에서는 행렬을 리스트의 리스트로 표현할 수 있어요. 예를 들어 각 행에 0부터 4까지의 값이 있는 5 x 5 행렬은 다음과 같이 쓸 수 있습니다:

matrix = [[0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4]]

여러분의 과제는 중첩 리스트 컴프리헨션을 사용하여 이 행렬을 다시 만드는 것입니다. 리스트 컴프리헨션 하나로 행렬의 한 행을 만들 수 있다는 점을 기억하세요. 리스트의 리스트를 만들려면, 그 리스트 컴프리헨션을 전체 리스트 컴프리헨션의 출력 식으로 넣으면 됩니다:

[[출력 식] for 반복 변수 in 반복 가능한 객체]

여기서 출력 식 자체가 리스트 컴프리헨션이라는 점에 유의하세요.

지침

100 XP
  • 내부 리스트 컴프리헨션(즉, 중첩 리스트 컴프리헨션의 출력 식)에서 range()를 사용해 0부터 4까지의 값을 만드는 리스트를 생성하세요. 반복 변수로는 col을 사용하세요.
  • 중첩 리스트 컴프리헨션의 반복 가능한 객체 부분에서는 range()로 5개의 행을 세도록, 즉 0부터 4까지의 값을 생성하세요. 반복 변수로는 row를 사용하세요. 이 변수는 리스트의 리스트 안의 값을 만드는 데에는 사용하지 않는다는 점에 유의하세요.