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

[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)

분류 제목
filters Jinja - title() 필터 - 각 단어의 첫글자를 대문자로 나머지는 소문자로 변환. (= title필…
filters Jinja - tojson() 필터 - JSON 문자열로 직렬화 (= tojson필터 = 투제이슨필터)
filters Jinja - truncate() 필터 - 문자열을 지정 길이로 자르기 (= truncate필터 = 트런케이…
filters Jinja - unique() 필터 - 고유 아이템으로 구성된 반복자 반환 (= unique필터 = 유니크필…
filters Jinja - upper() 필터 - 대문자로 변환 (= upper필터 = 어퍼필터) ※ 문자열 전체를 대문…
filters Jinja - urlencode() 필터 - URL 주소나 또는 쿼리에 적합한 문자열로 변환 (= urlen…
filters Jinja - urlize() 필터 ★ - 텍스트 URL을 클릭 가능한 링크로 변환 적용 (= urlize필…
filters Jinja - wordcount() 필터 - 문자열의 단어 개수 세기 (= wordcount필터 = 워드카운…
filters Jinja - wordwrap() 필터 - 문자열을 지정 길이 단위로 쪼개기 (= wordwrap필터 = 워…
filters Jinja - xmlattr() 필터 - dict의 아이템 기반으로 SGML/XML 속성 문자열 생성 (= …
filters Jinja - trim() 필터 - 문자열 앞뒤 공백(또는, 지정문자) 제거 (= trim필터 = 트림필터)
3/3
목록
찾아주셔서 감사합니다. Since 2012