Как я могу сравнить числа, полученные из базы данных, с sqlite3 в Python?Python

Программы на Python
Ответить
Гость
 Как я могу сравнить числа, полученные из базы данных, с sqlite3 в Python?

Сообщение Гость »


Я новичок в программировании, работаю на Python с sqlite3, и у меня есть столбец, в котором числа упорядочены, но могут быть пробелы (1, 2, 4, 7, 8... ). Я пытаюсь создать цикл For, в котором я сравниваю числа по порядку (идентификаторы) и устраняю пробелы (1, 2, 3, 4, 5...).

Функция идет

def deleteGaps(idTuple): idList = list(idTuple) #преобразование полученного кортежа в список, чтобы иметь возможность его изменять previousId=-1 # -1, потому что первый элемент — [0] для идентификатора в idList: если идентификатор > предыдущийId+1: идентификатор = предыдущийId+1 print(id) #Просто для тестирования, позже я займусь обновлением таблицы предыдущийId = идентификатор И это выдает следующую ошибку

, если id > previousId+1: ^^^^^^^^^^^^^^^^^ TypeError: '>' не поддерживается между экземплярами 'tuple' и 'int' Если я начну print(idList), он выдаст мне «[(1,), (2,), (4,), (7,), (8,)]» вместо ожидаемого «(1, 2, 4, 7, 8)». Вероятно, в этом корень проблемы, но я не знаю, как правильно выполнить преобразование.

Есть предложения? Спасибо всем.

PS: Я понимаю, что могу просто получить длину кортежа и присвоить 1, 2, 3... n=длине, но мне хотелось бы знать, как перейти от [(1,), ( 2,)] в (1, 2) в любом случае.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»