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

[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]'

 



분류 제목
filters Jinja - groupby() 필터 - 속성별로 객체 시퀀스를 그룹화. (= groupby필터 = 그룹바이…
filters Jinja - indent() 필터 - 문자열 들여쓰기. (= indent필터 = 인덴트필터)
filters Jinja - int() 필터 - 정수로 변환. (= int필터 = 인트필터) ※ 문자열숫자나 부동소수를 정…
filters Jinja - items() 필터 - 매핑의 (키, 값) 항목에 대한 반복자를 반환. (= items필터 =…
filters Jinja - join() 필터 - 시퀀스의 문자열을 연결한 문자열을 반환. (= join필터 = 조인필터)
filters Jinja - last() 필터 - 시퀀스의 마지막 아이템 반환. (= last필터 = 라스트필터) ※ 마지…
filters Jinja - length() / count() 필터 - 컨테이너 안 아이템 개수 반환. (= length필…
filters Jinja - list() 필터 - 리스트로 변환. (= list필터 = 리스트필터) ※ 리스트 자료형(=데…
filters Jinja - lower() 필터 - 소문자로 변환. (= lower필터 = 로우어필터) ※ 문자열 전체를 …
filters Jinja - map() 필터 - 각 아이템에 필터 적용하거나 속성 조회 (= map필터 = 맵필터)
filters Jinja - max() 필터 - 최대값 반환 (= max필터 = 맥스필터) ※ 최댓값
filters Jinja - min() 필터 - 최소값 반환 (= min필터 = 민필터) ※ 최솟값
filters Jinja - pprint() 필터 - 변수를 가독성 좋게 예쁘게 출력 (= pprint필터 = 피프린트필터…
filters Jinja - random() 필터 - 랜덤값 반환 (= random필터 = 랜덤필터) ※ 임의의 선택값 반…
filters Jinja - reject() 필터 - 지정 테스트 통과 못 한 요소만 필터링 해 구성된 반복자 반환 (= …
filters Jinja - rejectattr() 필터 - 지정 속성에 대한 테스트 통과 못 한 아이템만 필터링 (= r…
filters Jinja - replace() 필터 ★ - 문자열 대체 (= replace필터 = 리플레이스필터)
filters Jinja - reverse() 필터 ★ - 역순(= 순서 뒤집기) (= reverse필터 = 리버스필터)
filters Jinja - round() 필터 - 부동소수 반올림 (= round필터 = 라운드필터) ※ 일반반올림/천장…
filters Jinja - safe() 필터 ★★★ - 회피처리 안 함 (= 이스케이프 적용 X = safe필터 = 세이…
5/9
목록
찾아주셔서 감사합니다. Since 2012