Индексировать первые и последние n элементов списка

#python #list

#python #Список

Вопрос:

первые n и последние n элементов списка python

 l=[1,2,3,4,5,6,7,8,9,10]
  

может быть проиндексирован выражениями

 print l[:3]
[1, 2, 3]
  

и

 print l[-3:]
[8, 9, 10]
  

есть ли способ объединить оба в одном выражении, т.Е. индексировать первые n и последние n элементов, используя одно выражение индексации?

Ответ №1:

Просто объедините результаты:

 l[:3]   l[-3:]
  

Нет специального синтаксиса для объединения непересекающихся фрагментов.

Комментарии:

1. Спасибо за ваш ответ, это решение, которое я искал. Я пометил это как ответ, поскольку это было первое из нескольких подобных решений.

Ответ №2:

Вы имеете в виду, как:

 l[:3] l[-3:]
  

затем с помощью переменной:

 l[:x] l[-y:]
  

Комментарии:

1. Спасибо за ваш ответ, это на самом деле простое решение, которое я искал.

Ответ №3:

Нет, но вы можете использовать:

 l[:3]   l [-3:]
  

Комментарии:

1. Спасибо за ваш ответ, это на самом деле простое решение, которое я искал.

Ответ №4:

Если разрешено изменять список, вы можете использовать это:

 del(a[n:-n])
  

Если нет, создайте новый список, а затем сделайте это.

 b = [x for x in a]
del(b[n:-n])