Это выглядит как идеальный вариант использования для itertools.product
labels = itertools.product(range(1, 11), string.ascii_uppercase, range(1, 11))
# (1, 'A', 1) (1, 'A', 2) (1, 'A', 3) ...
product(as, bs, cs, ds, ...)
создает генератор, который выдает значения, похожие на многоуровневый цикл for
:
for a in as:
for b in bs:
for c in cs:
for d in ds:
yield (a, b, c, d)
поэтому, чтобы использовать это, вы можете либо напрямую привести к списку:
result = [f"{a}-{b}-{c}" for a, b, c in labels]
, либо перебрать labels
for label in labels:
a, b, c = label
formatted = f"{a}-{b}-{c}"
# do something with formatted