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