From 33d65bf0bb3e02a2dba4b38edb38c67461861b89 Mon Sep 17 00:00:00 2001 From: SergBobrovsky Date: Fri, 29 May 2020 16:58:16 +0300 Subject: [PATCH] refactor def _col_name KISS --- pyoo.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pyoo.py b/pyoo.py index 37f0fc9..fd09f44 100644 --- a/pyoo.py +++ b/pyoo.py @@ -14,6 +14,7 @@ import numbers import os import sys +from string import ascii_uppercase import uno @@ -209,11 +210,11 @@ def _col_name(index): 'AA' """ - for exp in itertools.count(1): - limit = 26 ** exp - if index < limit: - return ''.join(chr(ord('A') + index // (26 ** i) % 26) for i in range(exp-1, -1, -1)) - index -= limit + buf = [] + while index >= 0: + buf.append(ascii_uppercase[index % 26]) + index = index // 26 - 1 + return ''.join(buf[::-1]) @str_repr