Python как значения из списка присвоить динамическим переменным

Kак значения из списка присвоить переменным?

Чтобы переменные динамически сами создавались в зависимости от величины списка?

res = [1, 2, 3, 4 ...]

Xочу переменные передать в шаблон для генерации html страницы, данные будут записываться в таблицу. Использую библиотеку jinja2.

Или может можно передать список? Понятия не имею как значения из списка расставить по ячейкам таблицы, проще передать в переменные и в шаблоне привязать переменные к ячейкам.

Посоветуйте как быть?


Ответы (2 шт):

Автор решения: Victor VosMottor

Не надо делать кучу переменных. Просто передай список и в jinja2 напиши вот так:

{% for elem in your_list %} — your_list это твой список
{{ elem }} — тут делай, что хочешь
{% endfor %}

Если используешь flask(кстати очень рекомендую — круто!), то сделай вот так:

# views.py

@route('your/route')
def go():
    render_template('your_template.html', your_list=your_list) #your_list should be init'ed

Ну а теоретически можно создать кучу переменных из списка, только очень не рекомендую:

for i, j in enumerate(your_list):
    exec('var' + str(i) + '=' + '"' + j + '"')
→ Ссылка
Автор решения: dIm0n

Вот так вот:

res = [1, 2, 3, 4, 5]

for v in res:
    exec(f'variable_{v} = {v}')

print(variable_1)
→ Ссылка