есть ли способ перебрать два списка одновременно в django?

У меня есть два объекта списка одинаковой длины с дополнительными данными, которые я хочу отобразить, есть способ визуализации одновременно, т. Е.

{% for i,j in table, total %} {{ i }} {{ j }} {% endfor %} 

или что-то подобное?

  • Как сохранить отредактированный документ Word с помощью Python?
  • Как аргументы передаются функции через __getattr__
  • Как я могу нажать кнопку «Дополнительно» при веб-сканировании Tripadvisor с использованием селена?
  • «какая» эквивалентная функция в Python
  • Колба разбитая труба с запросами
  • Определенный метод использования NumPy и SciPy от IronPython
  • Объедините два взвешенных графика в NetworkX
  • Python - сравнение даты и времени с использованием временных меток, timedelta
  • 6 Solutions collect form web for “есть ли способ перебрать два списка одновременно в django?”

    Если оба списка имеют одинаковую длину, вы можете вернуть zipped_data = zip(table, total) качестве контекста шаблона в своем представлении, который создает список 2-значных кортежей.

    Пример:

     >>> lst1 = ['a', 'b', 'c'] >>> lst2 = [1, 2, 3] >>> zip(lst1, lst2) [('a', 1), ('b', 2), ('c', 3)] 

    В своем шаблоне вы можете написать:

     {% for i, j in zipped_data %} {{ i }}, {{ j }} {% endfor %} 

    Кроме того, ознакомьтесь с документацией Django о теге шаблона. В нем упоминаются все возможности, которые у вас есть для использования, включая приятные примеры.

    Используйте zip-функцию python и запишите два списка вместе.

    На ваш взгляд:

     zip(table, list) 

    В вашем шаблоне вы можете повторить это как простой список и использовать свойства .0 и .1 для доступа к данным из таблицы и списка соответственно.

    Если это только переменные i и j которые вы смотрите, тогда это должно работать –

     return render_to_response('results.html', {'data': zip(table, list)}) {% for i, j in data %} <tr> <td> {{ i }}: </td> <td> {{ j }} </td> </tr> {% endfor %} 

    (кредит всем, кто ответил на этот вопрос)

    Вместо использования словаря (который не гарантирует никакой сортировки), используйте функцию zip в двух списках и передайте ее в шаблон.

    Вам нужно сделать это в представлении – используйте встроенную zip-функцию, чтобы составить список кортежей, а затем перетащите ее в шаблон.

    Логика шаблонов преднамеренно проста, что-то даже слегка сложное должно быть сделано в представлении.

    Для недавних посетителей этого вопроса forloop.parentloop может имитировать скрепление двух списков:

     {% for a in list_a %}{% for b in list_b %} {% if forloop.counter == forloop.parentloop.counter %} {{a}} {{b}} {% endif %} {% endfor %}{% endfor %} 
    Python - лучший язык программирования в мире.