Как урезать список в Python
Предположим, что у меня есть список с элементами X
[4,76,2,8,6,4,3,7,2,1...]
Мне нужны первые 5 элементов. Если он имеет менее 5 элементов.
[4,76,2,8,6]
Как это сделать?
Ответы
Ответ 1
Вы просто субиндексируете его с помощью [:5]
, указывающего, что вы хотите (до) первых 5 элементов.
>>> [1,2,3,4,5,6,7,8][:5]
[1, 2, 3, 4, 5]
>>> [1,2,3][:5]
[1, 2, 3]
>>> x = [6,7,8,9,10,11,12]
>>> x[:5]
[6, 7, 8, 9, 10]
Кроме того, если положить двоеточие справа от числа означает подсчет с n-го элемента вперед - не забывайте, что списки основаны на 0!
>>> x[5:]
[11, 12]
Ответ 2
Чтобы обрезать список на месте без создания его копий, используйте del
:
>>> t = [1, 2, 3, 4, 5]
>>> # delete elements starting from index 4 to the end
>>> del t[4:]
>>> t
[1, 2, 3, 4]
>>> # delete elements starting from index 5 to the end
>>> # but the list has only 4 elements -- no error
>>> del t[5:]
>>> t
[1, 2, 3, 4]
>>>
Ответ 3
>>> [1,2,3,4,5,6,7,8,9][:5]
[1, 2, 3, 4, 5]
>>> [1,2,3][:5]
[1, 2, 3]
Ответ 4
l = [4,76,2,8,6,4,3,7,2,1]
l = l[:5]