Hi Pei-Hsun -
In this situation I would prepare a list of dicts in vars_for_template, and then loop through that list in the template.
So if I prepared a list of dicts like this:
@staticmethod
def vars_for_template(player:Player):
    rval = {}
    qlist = []
    for q in range(len(params)):
        qdict = {}
        qdict['parameter'] = 'a=='+str(q)
        qdict['question_1'] = 'Questions 1 when a=='+str(q)
        qdict['question_2'] = 'Question 1 when a=='+str(q)
        list.append(qdict)
    rval['question_list'] = qlist
    return rval
This means in the template I can loop through "question_list" like this:
<table>
{{ for q in question_list }}
    <tr><td>{{ q.parameter }}</td>
        <td>{{ q.question_1 }}</td>
        <td>{{ q.question_2 }}</td></tr>
{{ endfor }}
</table>
Basically if you have a dict in the template, you can loop through its entries and access the keys like above.
Good luck,
--Chris