#python
#python
Вопрос:
Здесь я выбираю все электронные письма пользователей и помещаю их в 1 массив:
mycursor = mydb.cursor()
sqlEmail = "SELECT epost FROM brukere WHERE notification = 'YES'"
mycursor.execute(sqlEmail)
result = mycursor.fetchall()
emailList = []
for row in result:
emailList.append(row[0])
print("Email list for current script: ", emailList[0], emailList[1], emailList[2])```
Я хочу поместить каждое электронное письмо в список отправителей, но единственный способ, которым я решил это сделать, был таким
gmail_user = 'anonymous' # this is the email sending it
sent_from = gmail_user
to = [emailList[0], emailList[1], emailList[2]] #<
subject = 'Temperature is over 28C!!!'
body = """
Здесь я хочу, чтобы он брал по одному из массива, поэтому, если добавляются новые электронные письма, он вставляет их автоматически, также, если 1 электронное письмо удаляется из списка адресов электронной почты в базе данных, происходит сбой, потому что оно жестко запрограммировано на наличие 3 электронных писем из базы данных.
Как я мог это исправить?
Комментарии:
1. Просто используйте
to = emailList
. Я не знаю, почему вы извлекаете элементы для создания нового списка, если вам нужен весь список.2. У вас уже есть список, который вам нужен. Не создавайте еще один.
to = emailList
3. Спасибо за помощь, ребята, я на самом деле уже понял это. я не создаю другой список, кстати, его просто выбирают из списка. я новичок в python, хе-хе
Ответ №1:
Взгляните на это руководство о том, как печатать массивы. Не понимаю, зачем вы жестко кодируете три значения, если хотите распечатать весь список. Кроме того, в to = [emailList[0], emailList[1], emailList[2]]
вы в основном берете отдельные значения из массива и помещаете их обратно в новый массив? Если вы уже можете передать массив, тогда просто передайте emailList как есть.
Если вы пытаетесь указать, в какой диапазон вашего массива передавать, вы можете указать свои начальный и конечный индексы. Подробная информация.
a=[0,1,2,3,4,5]
print(a[1:3])
>>>1 2 3
print(a[:2])
>>>0,1,2