Создание таких переменных не рекомендуется. Вместо этого вы можете создать словарь. Это возможно при использовании groupby
и defaultdict
:
from itertools import groupby
from collections import defaultdict
y = ['human', 'human', 'human', 'agent', 'agent', 'player', 'player', 'player', 'opponent', 'opponent', 'opponent', 'human', 'human', 'player', 'player', 'player']
i = 0
result = defaultdict(list)
for k, g in groupby(y):
elems = len(list(g))
result[k].append((i, i+elems-1))
i += elems
print(result)
# defaultdict(<class 'list'>,
# {'human': [(0, 2), (11, 12)],
# 'agent': [(3, 4)],
# 'player': [(5, 7), (13, 15)],
# 'opponent': [(8, 10)]})