2017-01-25 7 views
0

Элементы в списке - названия фильмов с рейтингом от 0 до 100 рядом с ними. Вот часть этого ...Создание нового списка элементов с номерами> = 60 из списка элементов, пронумерованных от 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, чтобы быть усечены только текст фильма поэтому я могу иметь программу, которая вводит их в поля поиска сайтов. Поэтому, если вы знаете, как это было сделано, это спасло бы меня от некоторых дополнительных ощущений в темноте. Может быть, просто намек на то, как это делается, если спросить, как это сделать, это слишком много. Спасибо!

ответ

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 Прежде чем задавать вопросы по SO, прочитайте [учебник по python] (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's pythonic style of list. – Foon

+1

Я использую Python. Мне понравился ответ Евгения. Я не мог заставить другого работать. Делает ли то, что предложил Евгений, превратить мой список в кортеж, или это был кортеж для начала? Как я могу изменить его на список? – Ant

 Смежные вопросы

  • Нет связанных вопросов^_^