@pavelfoki

Как изменить тип данных и сохранить внешний вид?

Здравствуйте. Из бд получаю
cur.execute(
        f'''SELECT nums FROM user_data''')
    nums = cur.fetchone()
    # ("310, 311, 312, 313, 314",)
кортеж чисел. Мне нужно перебрать каждое из этих чисел в цикле
for i in nums:
     print("Ваши коды (по отдельности): ", i)

Но когда я запускаю код, я вижу, что цикл for засчитывает ("310, 311, 312, 313, 314",) как одно значение, т.е выводит
Ваши коды (по отдельности): 310, 311, 312, 313, 314
что как бы логично, ведь видно, что стоят две кавычки, которые объединяют все эти значения, а мне такое не надо.
Как можно эти ковычки и запятую в конце убрать, привести к такому виду (310, 311, 312, 313, 314) при этом сделав так, чтобы цикл работал нормально? Разбирал каждое число по отдельности. Буду благодарен.
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
t = ("310, 311, 312, 313, 314",)[0].split(', ')
t_new = tuple(map(int, t))
print(t_new)

Это при условии, что nums записывается в таком формате всегда.
С другой стороны - лучше храните каждое число отдельно - будет меньше мороки с выводом
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
СУБД умеют работать со списками и вы можете получить "Ваши коды (по отдельности): " прямо из таблицы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы