2013-05-02 4 views
11

私のコードの繰り返し処理:Python:forループの最後の要素にカンマを印刷しないでください。セットと印刷俳優の名前の上に

for actor in actorsByMovies(): 
    print actor+",", 

結果は以下のようになります。

Brad Pitt, George Clooney, 

しかし、私はそれが最後に印刷されませんように、それが最後の要素を検出したいですコンマ。結果は代わりに:

Brad Pitt, George Clooney 

どうすればいいですか?新しいそれを用いた

from __future__ import print_function # Python [2.6, 3) 

for index, actor in enumerate(actorsByMovies()): 
    if index > 0: 
     print(', ', end='') 
    print(actor, end='') 

答えて

19
print ', '.join(actorsByMovies()) 
+4

注意を。 – unwind

+1

または 'print sep + actor、; sep = '、' 'を初期値' sep'でループの前の空の文字列に設定します。 – tripleee

+1

'join()'は私がそれを知って以来、人生の節約になりました。 – Valdogg21

1

@jamylakによって溶液は、あなたがそれを使用することができますが、他のもののためのループを維持する必要がある場合、あなたはこのような何かを行う可能性がありますいつでも最高ですprint機能は、あなたの代わりにstr.joinを使用してのこの操作を行うことができます:これは正しいことを行うためにPythonの組み込みの `参加()`文字列メソッドを使用して、ループ全体を置き換えること

print(*actorsByMovies(), sep=', ') 
関連する問題