Запятые есть по уважительной причине, ваш результат - список кортежей ; это следствие того, что sqlite
представляет набор результатов, сами данные не содержат запятых:
result = c.fetchall()
print(result)
=> [('test@gmail.com',), ('test1@gmail.com',), ('test2@gmail.com',)]
Это потому, что в каждой строке может быть более одного поля. В вашем случае у вас есть только одно поле, но Python не может просто удалить запятую, потому что если бы мы это сделали, вы бы получили список элементов в скобках, а не список кортежей (см. здесь , чтобы понять, почему).
Конечно, если вы уверены, что в результате будет только одно поле на строку, вы можете просто избавиться от кортежей, извлекая одно (и единственное) поле из каждая строка на момент печати результата:
result = c.fetchall()
print([f[0] for f in result])
=> ['test@gmail.com', 'test1@gmail.com', 'test2@gmail.com']