Имена переменных не могут начинаться с цифр в Python.
В любом случае, для вашего случая использования, я думаю, будет полезна вложенная dict
:
from pprint import pprint
subjects = ['100307', '100408', '101107', '101309', '101915']
keys = ['2bktools', '0bkbody', '2bkfaces', '0bktools', '2bkbody', '2bkplaces', '0bkfaces', '0bkplaces']
data = {subject: {key: 0 for key in keys} for subject in subjects}
pprint(data)
Вывод:
{'100307': {'0bkbody': 0,
'0bkfaces': 0,
'0bkplaces': 0,
'0bktools': 0,
'2bkbody': 0,
'2bkfaces': 0,
'2bkplaces': 0,
'2bktools': 0},
'100408': {'0bkbody': 0,
'0bkfaces': 0,
'0bkplaces': 0,
'0bktools': 0,
'2bkbody': 0,
'2bkfaces': 0,
'2bkplaces': 0,
'2bktools': 0},
... more of the same...
Затем вы можете получить доступ к любому атрибуту, который хотите, используя стандартный синтаксис индексации;например, data['100307']['2bktools']
.