Как мне получить последний элемент списка? Какой способ предпочтительнее?
alist[-1] alist[len(alist) - 1]
Переведено автоматически
Ответ 1
some_list[-1] самый короткий и понятный на Python.
На самом деле, вы можете сделать гораздо больше с помощью этого синтаксиса. В some_list[-n] синтаксис получает элемент от n-го до последнего. Итак, some_list[-1] получает последний элемент, some_list[-2] получает предпоследний и т.д., вплоть до some_list[-len(some_list)], который дает вам первый элемент.
Вы также можете задать элементы списка таким образом. Например:
>>> some_list = [1, 2, 3] >>> some_list[-1] = 5# Set the last element >>> some_list[-2] = 3# Set the second to last element >>> some_list [1, 3, 5]
Обратите внимание, что получение элемента списка по индексу вызовет запрос IndexError, если ожидаемый элемент не существует. Это означает, что some_list[-1] вызовет исключение, если some_list пусто, потому что в пустом списке не может быть последнего элемента.
Ответ 2
Если ваши объекты str() or list() могут оказаться пустыми, как таковые: astr = '' or alist = [], то вы можете захотеть использовать alist[-1:] вместо alist[-1] для "одинаковости" объектов.
Значение этого таково:
alist = [] alist[-1] # will generate an IndexError exception whereas alist[-1:] # will return an empty list astr = '' astr[-1] # will generate an IndexError exception whereas astr[-1:] # will return an empty str
Различие заключается в том, что возвращаемый пустой объект list или пустой объект str является более "последним элементом", чем объект exception.
Ответ 3
Вы также можете сделать:
last_elem = alist.pop()
Это зависит от того, что вы хотите сделать со своим списком, потому что pop() метод удалит последний элемент.
Ответ 4
Самый простой способ отобразить последний элемент в python - это
>>> list[-1:] # returns indexed value [3] >>> list[-1] # returns value 3
есть много других методов для достижения такой цели, но они короткие и удобны в использовании.