목차
dictsort() 예제 - dict 정렬
dictsort() 정의
dictsort() 구문
dictsort() 예제 - dict 정렬
[예제] - (대소문자 구분 O / value 기준 / 역순) 정렬 경우
{% set mydict = {'apple': 5, 'Banana': 2, 'orange': 8, 'Kiwi': 3} %}
{% for key, value in mydict|dictsort(true, 'value', true) %}
{{ key }}/{{ value }}
{% endfor %}
결과값: orange/8 apple/5 Kiwi/3 Banana/2
dictsort() 정의
dict 및 Yield (키, 값) 쌍을 정렬하는 필터 .
1. Python dict는 표시하려는 순서가 아닐 수 있으므로 먼저 정렬.
2. 여러가지 정렬 기준 조합
{% for key, value in mydict|dictsort %} - (대소문자 구분X / key 기준 / 기본) 정렬
{% for key, value in mydict|dictsort(reverse=true) %} - (대소문자 구분 X / key 기준 / 역순) 정렬
{% for key, value in mydict|dictsort(true) %} - (대소문자 구분 O / key 기준 / 기본) 정렬
{% for key, value in mydict|dictsort(false, 'value') %} - (대소문자 구분 X / value 기준 / 기본) 정렬
3. 공식 매뉴얼
https://jinja.palletsprojects.com/en/3.1.x/templates/#jinja-filters.dictsort
dictsort() 구문
jinja-filters.dictsort(value: Mapping[K, V], case_sensitive: bool = False, by: 'te.Literal["key", "value"]' = 'key', reverse: bool = False ) → List[Tuple[K, V]]
[매개변수]
value: Mapping[K, V]
필수. 이 필터를 적용할 key:value 쌍으로 구성된 값. (예: dict)
case_sensitive: bool = False
선택. 대소문자 구분 여부.
by: 'te.Literal["key", "value"]' = 'key'
선택. 정렬 기준 지정.
reverse: bool = False
선택. 역순 여부 지정.
[반환값]
지정 순서로 정렬된 key:value 쌍으로 구성된 값 반환. (List, Tuple 형태)
주소 복사
랜덤 이동