Немного нечетного Я получил здесь ...Проверить элемент в нескольких списках внутри списка
В основном говорят, что у меня есть список со списками внутри него.
ratings = [
# ''' 1 star '''
["Strangers on a Train", "Anchorman", "Saw", "Suicide Squad"],
# ''' 2 star '''
["Shutter Island", "Shaun of the Dead", "Scream", "Indiana Jones"],
# ''' 3 star'''
["Goodfellas", "Mr Bean", "The Ring", "Dark Knight"],
# ''' 4 star'''
["Scarface", "Hot Fuzz", "Nosferatu", "Die Hard"],
# ''' 5 star'''
["Pulp Fiction", "Airplane", "The Omen", "Deadpool"]
]
Очевидно, что это список фильмов, и в списке 5 списков дает каждому из фильмов рейтинговую из 5, хотя этот контекст совершенно бесполезно.
def rating():
if userInfo[7] == "1":
return range(5)
elif userInfo[7] == "2":
return range(2, 5)
elif userInfo[7] == "3":
return range(3, 5)
elif userInfo[7] == "4":
return range(4, 5)
else:
return range(5, 5)
Вот функция, где по существу диапазон возвращается в зависимости от того, какой минимальный рейтинг фильма они хотели бы видеть это. Так говорят, что их минимальный рейтинг 4, они будут видеть только фильмы рейтинга 4 и 5.
говорит, что у них есть список фильмов
movies = ["Strangers on a Train", "Anchorman", "Shutter Island",
"Shaun of the Dead", "Goodfellas", "Mr Bean",
"Scarface", "Hot Fuzz", "Pulp Fiction", "Airplane"]
Теперь я хочу, чтобы удалить все фильмы из этого списка, которые не от номинала 4 или выше.
Я попытался
new = []
for item in movies:
if item not in in ratings[rating()]:
new.append(item)
, но это не будет работать, как я не могу использовать диапазон для поиска через несколько списков внутри большого списка, как это должно быть целым числом.
Я понимаю, что это огромная почта для такой маленькой проблемы, но мой мозг умирает, и я пытался это сделать часами, и я хочу спать, но мне нужно это сделать.
просто используйте нарезку: 'рейтинги [3:]' предоставит вам все фильмы с рейтингом 4 или выше – acushner