2017-01-03 19 views
0

私はcitylist、emaillistを持っています。私はそれらのデータをデータベースから取得します。それから私は人の都市に基づいてカスタマイズされた電子メールを送信したいと思います。人1都市1の代わりに都市1、都市2、都市3のメールを受信

私は

for email in emaillist: 
    for city in citylist: 
     sendemail() 

を持っている場合、それはCITY1、City2この、city3のため人1電子メールを送信します。 Person 2は、city1、city2、city3の電子メールです。私はその後、

for city in citylist: 
    for email in emailist: 
     sendemail() 

に変更した場合、それは一人1 CITY1、City2この、city3メールや人物2人を送信しますパーソン3 CITY1、City2このため、電子メール、都市3

しかし、3ないでしょう電子メールを取得します。私は人1が都市1の電子メールを取得し、人2が都市2の電子メールを取得し、人3が都市3の電子メールを取得するように、どのように変更することができますか?

編集:ジップは依然として人1都市1、都市2電子メール、人2、都市1、都市2のメールを送信します。

EDIT2:

for email, c in zip(emaillist, citylist): 


    city, state =c.split(",") 

....

to_email= Email(email) 
    content = Content("text/plain", message) 
    mail = Mail(from_email, subject, to_email, content) 
+0

'citylist'と' emailist' *実際に*リストですか、それともジェネレータですか? – chepner

+0

実際にTheryryがリストアップしています。私は下記のzip関数を試してみました。 – Dan

+0

同じ都市または複数の都市の複数の人が複数の都市にリンクしている場合は、データ構造を変更することができます。 dictが良いかもしれません。 – DaveQ

答えて

4

私はあなたがzipを探していると思います。

for email, city in zip(emaillist, citylist): 
    sendemail() 
+0

それはうまくいった。とても早く答えることに感謝します。私は時間が過ぎると答えをチェックします。 – Dan

+0

実際に私は再びそれを試して、それはまだ人1都市1、都市2電子メールと人2都市1、都市2電子を送信します。 – Dan

+0

実際のコードでは 'sendemail'関数の引数に' email'と 'city'を引数として渡していますよね? –

関連する問題