

下記のようなリストをpythonのfor文とrange関数を使って、整形後のように表示させたいのですが、どうすればよいでしょうか？
一番シンプルで分かりやすい方法であれば、やり方は問いません。

整形前

[code]

    [('Candidate is jerk, alleges rival', 338647), ('Bears love berries, alleges bear', 253801), ('Bad things gone, say good people', 170098)]
    
[/code]

整形後

[code]

    "Candidate is jerk, alleges rival" — 338647 views
    "Bears love berries, alleges bear" — 253801 views
    "Bad things gone, say good people" — 170098 views
    
[/code]


CC BY-SA 3.0
2018-02-08T06:11:15.513
41567
2018-02-11T15:12:10.840
2018-02-10T07:48:15.800
22895
22895
question
python python3
pythonのリストをfor文とrange関数で整形


シンプルかどうかはわかりませんが、リスト内包表記で書いてみました。  
元がリストであれば、普通は`range`は使うケースはあまりありません。

[code]

    data = [('Candidate is jerk, alleges rival', 338647), ('Bears love berries, alleges bear', 253801), ('Bad things gone, say good people', 170098)]
    [print( '"%s" - %d views' % (d[0],d[1])) for d in data]
    
[/code]


CC BY-SA 3.0
2018-02-08T07:17:37.720
41574
2018-02-08T07:17:37.720
25830
41567
answer

[code]

    # -*- coding: utf8 -*-
    
    
    def main() -> None:
        data = [('Candidate is jerk, alleges rival', 338647), ('Bears love berries, alleges bear', 253801), ('Bad things gone, say good people', 170098)]
        for article, view in data:
            print(f'"{article}" — {view} views')
    
    
    if __name__ == '__main__':
        main()
    
[/code]


CC BY-SA 3.0
2018-02-11T15:12:10.840
41655
2018-02-11T15:12:10.840
21356
41567
answer