2017-01-25 3 views
-1

反復可能ではありません。はTypeError:「int型のオブジェクトは、だから、私はこのような何かをしようとした私は、電子メールアドレスのリストを持っていると私はそれをプリントアウトしたいリストをプリントアウト

for i in emails: 
    print emails[i] 

しかしとき

TypeError: 'int' object is not iterable 

私が書くときので、私には奇妙です:私は、私はこのエラーを取得し、これを行う

for i in emails: 
    print emails[1] 

それは出力します私が数字を指定したときに印刷できるのであれば、リストの最初の電子メールがなぜ「私」に設定されたら印刷できないのですか?

+1

iがリストの最初の要素になるため、カウンタではないため –

+2

このコードフラグメントの動作は、あなたが表示していない 'emails'のタイプに完全に依存します。エラーを示す最小限の** complete **プログラムにプログラムを縮小してください。詳細は、[mcve]を参照してください。 –

+0

意味のある名前を使用してください。 Pythonの 'for'ループのループ変数はインデックスではないので、' i'という名前を付けるのは意味がありません。あなたがインデックスのように名前を付けたという事実は、それをあなたを*インデックスと考えることに混乱させました。しかし、それは 'i'という名前なので魔法のようなインデックスではありません。 – kindall

答えて

2
for email in emails: 
    print email 

幸いにも、それはそれはようなものになるだろうJS 6で...

JavaScriptが5ではありません:私は私がする必要が同じ問題を抱えているだろう誰のためにそれを考え出し

for (email of emails) { 
    console.log (email); 
} 
+1

ここでJSはどのように関係していますか? –

+0

OPはJSのように 'in'の意味を使用します。 JSは実際には商品であるため、多くのプログラマがJSでウェブサイトをプログラミングしていたので、OPの混乱がどこから来たのか分かりました。この違いを明示的に言えば良いと思います。それ以外の点ではまだ混乱している可能性があるからです。 –

0

リストの長さで範囲内でiを使用します。

for i in range (0,len(emails)): 
    print (str(emails[i])) 
+0

これを 'range 'で行うのは非常に非Pythonです。あなたはあなたのように 'for in emails'を使うべきです。 – kindall

関連する問題