Вопрос:
Ниже поисков находится список объектов (10). Вместо того, чтобы снова ударять базу данных и на этот раз делать (5) чтобы получить 5 в другой переменной. Как я могу написать это ниже, чтобы проверить поиск переменных, чтобы получить 10 от этого?
searches = self.get_recent_searches(10) dic[‘recents’] = searches ## 10 objects ##dic[‘recent’] = self.get_recent_searches(5) dic[‘recent’] = searches.get 5 from this list
поиск:
Лучший ответ:
Похоже, что searches – это словарь, поэтому вам может потребоваться уважение еще раз, т.е.
searchdict = self.get_recent_searches(10) searches = searchdict[‘searches’] dic[‘recent’] = searches[:5] Ответ №1
Чтобы получить первые пять элементов, вы можете использовать searches[:5], которые начинаются с начала и идут в элемент (но не включая). Чтобы получить последние пять элементов, вы можете использовать searches[-5:], который начинается с элемента -5 (который переводит на пятый элемент с конца) и идет до конца списка.
Ответ №2
Если я правильно понимаю, вы можете использовать срез, например:
dic[‘recents’] = searches[:10]
Этот фрагмент используется для получения части списка в виде:
content[begin : end]
Список Python основан на нулевом индексе. И элемент begin (th) включается в результат, а конечный (th) элемент является исключительным. Если вы хотите, чтобы первые элементы i, пожалуйста, используйте поиски [: i]. Если нужны последние элементы i, поиск [-i:] работает хорошо.
Надеюсь, это будет полезно!
Ответ №3
Чтобы получить первые или последние 5 из списка, вы можете использовать понимание списка. Смотри ниже:
my_list = [1,2,3,4,5,6,7,8,9,10] #puts first 5 elements in new list first_five = [x for x in my_list[0:5]] print first_five #puts elements after index 5 into new list last_five = [x for x in my_list[5:]] print last_five