SQL вы хотите
select name from studens where id in (1, 5, 8)
Если вы хотите построить это из питона, вы можете использовать
l = [1, 5, 8]
sql_query = 'select name from studens where id in (' + ','.join(map(str, l)) + ')'
Функция map преобразует список в список строк, которые можно склеивать запятыми, используя метод str.join .
В качестве альтернативы:
l = [1, 5, 8]
sql_query = 'select name from studens where id in (' + ','.join((str(n) for n in l)) + ')'
, если вы предпочитаете выражения генератора функции карты.
ОБНОВЛЕНИЕ: С. Лотт упоминает в комментариях, что привязки Python SQLite не поддерживают последовательности. В этом случае вы можете захотеть
select name from studens where id = 1 or id = 5 or id = 8
Генерируется
sql_query = 'select name from studens where ' + ' or '.join(('id = ' + str(n) for n in l))