본문 바로가기

회고록(TIL&WIL)

TIL 2022.05.22 머신러닝 팀프로젝트(object detection) - 4 (jinja, enumerate함수 )

jinja2에서 for 루프를 구현하는 경우 index 이외에 아래와 같이 다양한 속성이 존재합니다.

  • loop.index // 1부터 시작하는 인덱스 값 반환
  • loop.revindex // 반대부터 시작하는 인덱스 값 반환
  • loop.index0 // 0부터 시작하는 인덱스 값 반환
  • loop.revindex0 // 반대부터 시작하는 인덱스 값으로 0을 기준으로 반환
  • loop.first // <Boolean> 첫 번째 루프에 해당하는지를 반환
  • loop.last // <Boolean> 첫 번째 루프에 해당하는지를 반환
  • loop.length // <Number> 전체 루프의 길이를 반환

enumerate() 함수

인덱스(index)와 원소를 동시에 접근하면서 루프를 돌려서 인덱스값과 함께 인자값을 함께 얻을 수 있다.

>>> for i, letter in enumerate(['A', 'B', 'C'], start=101):
...     print(i, letter)
...
101 A
102 B
103 C

 

start=에 정수를 줘서 시작 인덱스 값을 정할 수 있다.

 

sorted() 함수

sorted(정렬할 데이터, key 파라미터, reverse 파라미터)

데이터나 key 파라미터로는 iterable한 데이터들이여야 하기 때문에 operator 클래스를 imort 해와서 사용하는게 젤 편하고 쉽다. 딕셔너리 안의 리스트를 내림차순으로 정리하기 위해서 해당 함수를 이용해서 정리를 했다.

from operator import itemgetter
sort_data = sorted(company_high_score, key=itemgetter('score'), reverse=True)