2017-01-25 2 views
0

リスト内のアイテムは、0〜100の評価のムービータイトルです。ここでは...それの一部だ数字が0以上100以下のアイテムリストから新しいアイテムリストを作成する

[(u'The Girl on the Train', 43), 
(u'Keeping Up With The Joneses', 19), 
(u'Ouija: Origin of Evil', 82), 
(u'Long Way North (Tout en haut du monde)', 98), 
(u'The Whole Truth', 29), 
(u'Come And Find Me', 67), 
(u'LEGO Jurassic World: The Indominus Escape', None), 
(u'My Father, Die', 78)...] 

私はここでは動作しませんでした私が試したものの一つ、ある時または60以上のスコアと映画のリストを作成したいと思います(このコード...)FYI、RottenTomatoesのウェブサイトから

import requests 

r = requests.get('https://www.rottentomatoes.com/api/private/v2.0/browse?page=1&limit=30&type=dvd-top-rentals&services=amazon%3Bamazon_prime%3Bfandango_now%3Bhbo_go%3Bitunes%3Bn etflix_iw%3Bvudu&sortBy=popularity') 


list = [] 
data = r.json() 
for result in data["results"]: 
    list.append((result["title"], result["tomatoScore"])) 

list2 = [i for i in list if i >=60] 

print list2 

のデータを少し引っ張ってくる私はまた、映画のテキストだけに切り捨てされる60で以上のスコアですべての私の映画のタイトルを持っていると思います私はウェブサイトの検索フィールドにそれらを入力するプログラムを持つことができます。だから、それがどうやって行なわれたのか知っていれば、暗闇の中でもう少し感情を覚えるだろう。それをやり遂げる方法を尋ねるのは、あまりにも多くのことを求めているのであれば、それがどうやって行われたのかのヒントでしょう。 ありがとうございました!

答えて

1

変更

list2 = [i for i in list if i >= 60] 

list2 = [i for i in list if i[1] >= 60]. # You need to compare only ratings 

し、あなたのリストlist呼び出すことはありません。 Python listを上書きします。

+0

ありがとうございます。それはうまくいった。 [1]とは何ですか? – Ant

+0

@Antご質問の前に[python tutorial](https://docs.python.org/3.5/tutorial/index.html)をお読みください。 –

0

良い質問:

おそらく、これはあなたを助けるでしょう:

for i, j in list: 
    if j >= 60: 
     print j 

これは、あなたがリストにそれを追加したい場合は60以上の値のみを出力し、その後、使用:

for i, j in list: 
    if j >= 60: 
     list2.append(j) 

うまくいくこと!

+1

私はあなたがprint iとlist2.append(i)を意味していると思います。私たちはPythonを使用していて、古くなった言語(cobol、fortran?)では一文字の変数が必要ではないので、 ...また、Yevhenの答えのリストの理解のよりpythonicスタイルを使用して – Foon

+1

私はPythonを使用しています。私はイェヴェンの答えが好きでした。私は他の人を働かせることができませんでした。 Yevhenが私のリストをタプルに変換することを提案しているのですか、それとも最初はタプルでしたか?どのようにリストに戻すことができますか? – Ant

関連する問題