Перейти к основному содержимому

О методе контекста set

Не путать с выражением {% set foo = "bar" ... %} в Jinja!

Метод контекста set может использоваться для преобразования любого итерируемого объекта в последовательность уникальных элементов (множество).

Аргументы:

  • value: Итерируемый объект для преобразования (например, список)
  • default: Значение по умолчанию, которое возвращается, если аргумент value не является допустимым итерируемым объектом

Использование

{% set my_list = [1, 2, 2, 3] %}
{% set my_set = set(my_list) %}
{% do log(my_set) %} {# {1, 2, 3} #}
{% set my_invalid_iterable = 1234 %}
{% set my_set = set(my_invalid_iterable) %}
{% do log(my_set) %} {# None #}
{% set email_id = "'admin@example.com'" %}

set_strict

Метод контекста set_strict может использоваться для преобразования любого итерируемого объекта в последовательность уникальных элементов (множество). Отличие от метода контекста set заключается в том, что метод set_strict вызовет исключение TypeError, если предоставленное значение не является допустимым итерируемым объектом и не может быть преобразовано в множество.

Аргументы:

  • value: Итерируемый объект для преобразования (например, список)
{% set my_list = [1, 2, 2, 3] %}
{% set my_set = set(my_list) %}
{% do log(my_set) %} {# {1, 2, 3} #}
{% set my_invalid_iterable = 1234 %}
{% set my_set = set_strict(my_invalid_iterable) %}
{% do log(my_set) %}

Ошибка компиляции в ... (...)
объект 'int' не является итерируемым
0