내일배움캠프 17일차

2023년 04월 07일 by barryjung

    내일배움캠프 17일차 목차

[오늘 한일]

  • 알고리즘 문제풀이
  • 장고 개인과제 마무리 & 제출
  • 선발대 OT 참여

 

[오늘 배운점]

 

<리스트 반복에 옵션주기>

리스트는 iterable한 데이터라서 반복문과는 거의 짝궁인거 같다.

문제풀이를 할때,

iterable하거나 연속성 있는 입력에 대해서는 리스트와 반복문이 먼저 떠오른다.

 

오늘 문제를 풀다가 막혔던 부분이 있었는데, 이런 경우다.

리스트를 가지고 반복해야 하는데 range처럼 시작위치, 끝위치와 간격도 주고 싶다면?

 

range를 사용하면 리스트를 택하는게 아니여서 리스트 요소의 반복을 못하고

enumrate는 i의 시작 숫자는 정해줄수 있지만 리스트 요소에 변경은 못준다.

 

 

인터넷으로 찾아보니 슬라이스를 이용하는게 방법이다.

[x for x in numbers[:]]

리스트 컴프리헨션으로 작성한 반복문 기본 형태.

참고하는 리스트인 numbers뒤에 슬라이스 연산인 [:]를 줘서,

원하는 대로 가공된 리스트 요소를 반복할수 있다.

 

[ 시작위치 : 끝위치 : 간격 ] 순으로 구분 값을 넣는다.

변수를 넣어서 가변적인 리스트 가공도 가능하다.

 


[아직 모르겠지만 알고싶은 부분]

- 한 리스트를 반복하는데,

  반복문 안에서 한번 더 해당 리스트를 반복하며,

  리스트의 한 요소로 리스트 전체 요소에 대해 검출을 하는데,

  (자신을 제외한 전체 요소)를 지정할 수 있는 방법이 있을까. 

 

- 또 비슷하게, 한 리스트를 반복하는데,

  반복문 안에서 한번 더 해당 리스트를 반복하며,

  리스트의 한 요소로 리스트 전체 요소에 대해 어떤 가공을 해야 하는데,

  대상에서 자신을 제외하며, 이미 가공한 요소 쌍에 대해서도 제외할 방법이 있을까.

 

 

결론, 직접 반복문과 조건문으로 동작을 작성해보고도 싶고,

그렇지 않더라도 해당 기능을 하는 함수가 있다면 알고 싶다.

 

(틈틈이 한번 고민해보자)


월요일부터 장고강의를 들었고, 수요일부터 오늘까지 과제도 있었다.

과제는 오늘 마무리해서 제출했다.

아직은 모호하게 아는 부분이 훨씬 많다.

그래도 우선 강의에 있는 실습도 쭉 따라해봤고,

과제도 쭉 작성해서 요구 기능은 다 되게 만들어 봤다.

 

신기하고 재밌는 부분들이 많다.

장고에 대해서는 하나씩 명확하게 알게되는 대로 적어야 겠다.