Python: Как получить первые 5 или последние 5 из списка из 10?

Вопрос:

Ниже поисков находится список объектов (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

поиск:

enter image description here

Лучший ответ:

Похоже, что 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

Оцените статью
TechArks.Ru
Добавить комментарий