Python как значения из списка присвоить динамическим переменным
Kак значения из списка присвоить переменным?
Чтобы переменные динамически сами создавались в зависимости от величины списка?
res = [1, 2, 3, 4 ...]
Xочу переменные передать в шаблон для генерации html страницы, данные будут записываться в таблицу. Использую библиотеку jinja2.
Или может можно передать список? Понятия не имею как значения из списка расставить по ячейкам таблицы, проще передать в переменные и в шаблоне привязать переменные к ячейкам.
Посоветуйте как быть?
Ответы (2 шт):
Не надо делать кучу переменных. Просто передай список и в 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 + '"')
Вот так вот:
res = [1, 2, 3, 4, 5]
for v in res:
exec(f'variable_{v} = {v}')
print(variable_1)