• 회원가입
  • 로그인
  • 구글아이디로 로그인

[filters] Jinja - last() 필터 - 시퀀스의 마지막 아이템 반환. (= last필터 = 라스트필터) ※ 마지막값

목차
  1. last() 예제 - 마지막 아이템 반환
  2. last() 정의
  3. last() 구문

 

last() 예제 - 마지막 아이템 반환

 

{% set data = ['apple', 'banana', 'orange', 'grape', 'kiwi'] %}

마지막값: {{ data|last }} {# kiwi #}

 


 

{% set data = [

    {'name': 'Python', 'version': 3.9},

    {'name': 'Jinja', 'version': 2.11},

    {'name': 'Flask', 'version': 1.1},

    {'name': 'Jinja', 'version': 3.0}

] %}


마지막값: {{ data|last }} {# {'name': 'Jinja', 'version': 3.0} #}

 

마지막값: {{ data|selectattr('name', '==', 'Jinja')|list|last }}

{# {'name': 'Jinja', 'version': 3.0} #}

 

 

last() 정의

 

시퀀스의 마지막 아이템 반환하는 필터.

 


 

1.

  • last() 필터가 제너레이터(generators)에서는 작동 X. (대신, 명시적으로, List(리스트)로 변환해 사용하는 방법 있음. (예) {{ data | selectattr('name', '==', 'Jinja') | list | last }}
  • 제너레이터(generator)는 반복 가능한(iterable) 객체 중 하나로, 필요한 값들을 필요한 시점에 생성하는데 사용됨. 제너레이터는 모든 값을 메모리에 한꺼번에 저장하지 않고, 필요한 값들을 요청할 때마다 생성함. 이는 메모리를 효율적으로 사용하며, 매우 큰 데이터 세트를 처리할 때 유용.
  • 그러나 last 필터와 같이 시퀀스의 마지막 요소를 가져오는 필터는 제너레이터와 함께 사용할 수 없음. 왜냐하면 제너레이터는 순회 중에 한 번만 값을 생성하고, 순회가 끝나면 값을 다시 생성할 수 없기 때문임. 이러한 이유로 last 필터와 같은 일부 필터는 제너레이터와 함께 사용할 수 없음.
  • 따라서, last 필더 사용하려면 리스트나 딕셔너리와 같은 반복 가능한(iterable) 객체로 변환 필요함.

 

2. cf.

  • first() 필터 - 시퀀스의 첫번째 아이템 반환.


3. 공식 매뉴얼

https://jinja.palletsprojects.com/en/3.1.x/templates/#jinja-filters.last

 

 

last() 구문

 

jinja-filters.last(seq: 't.Reversible[V]') → 't.Union[V, Undefined]'

 


방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
intro Jinja - 소개 - 설치
api Jinja - API - 기초
api Jinja - API - 고급 API
api Jinja - API - 자동 이스케이프
api Jinja - API - 식별자에 관한 참고 사항
api Jinja - API - 정의되지 않은 유형
api Jinja - API - 문맥
api Jinja - API - 로더
api Jinja - API - 바이트코드 캐시
api Jinja - API - 비동기 지원
api Jinja - API - 정책
api Jinja - API - 유용
api Jinja - API - 예외
api Jinja - API - 맞춤 필터
api Jinja - API - 맞춤형 테스트
api Jinja - API - 평가 컨텍스트
api Jinja - API - 글로벌 네임스페이스
api Jinja - API - 저수준 API
api Jinja - API - 메타 API
1/9
목록
찾아주셔서 감사합니다. Since 2012