从编号0到100的项目列表中创建具有数字> = 60的新项目列表

时间:2017-01-25 21:24:42

标签: python web-scraping html-lists custom-lists

列表中的项目是旁边有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的电影列表。以下是我尝试过的不起作用的事情之一(此代码将从RottenTomatoes网站获取一些数据, FYI)...

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都被截断为电影片名的文字,这样我就可以将一个程序输入到网站的搜索栏中。所以,如果你知道如何做到这样可以在黑暗中拯救我一些额外的感觉。也许只是暗示如果要求如何做到这一点是如何做的太多了。 谢谢!

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

好问题:

也许,这会对你有所帮助:

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

这仅打印60以上的值。如果要将其附加到列表中,请使用:

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

希望有效!