Как получить последний индекс списка? - PullRequest
17 голосов
/ 25 октября 2011

Предположим, у меня есть следующий список:

list1 = [1, 2, 33, 51]
                    ^
                    |
indices  0  1   2   3

Как получить последний индекс, который в данном случае будет 3, из этого списка?

Ответы [ 6 ]

19 голосов
/ 25 октября 2011

len(list1)-1 - определенно путь, но если вам абсолютно необходим list с функцией, которая возвращает последний индекс, вы можете создать класс, наследующий от list.

class MyList(list):
    def last_index(self):
        return len(self)-1


>>> l=MyList([1, 2, 33, 51])
>>> l.last_index()
3
10 голосов
/ 25 октября 2011

Вы имели в виду len(list1)-1?

Если вы ищете другой метод, вы можете попробовать list1.index(list1[-1]), но я не рекомендую этот. Вы должны быть уверены, что в списке НЕТ дубликатов.

5 голосов
/ 28 декабря 2018

лучший и быстрый способ получить последний индекс списка - использовать -1 для номера индекса, например:

my_list = [0, 1, 'test', 2, 'hi']
print(my_list[-1])

выход - это: 'hi'. index -1 in покажет вам последний индекс или первый индекс конца.

4 голосов
/ 25 октября 2011

Я думаю, вы хотите

last_index = len(list1) - 1 

, который будет хранить 3 в last_index.

1 голос
/ 25 октября 2011

Вы можете использовать длину списка. Последний индекс будет длиной списка минус один.

len(list1)-1 == 3
0 голосов
/ 12 февраля 2015
a = ['1', '2', '3', '4']
print len(a) - 1
3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...