Когда я перечисляю список, существует ли предполагаемый питонический способ получения последнего значения индекса?Pythonic способ получить последнее значение индекса перечисления
Что-то, что бы получить эквивалент этого:
highest = None
for index, value in enumerate(long_list):
# do stuff with index and value
highest = index
return highest
Такой подход мне не нравится. Он содержит сотни ненужных переменных назначений. Кроме того, это уродливо.
Фон: У меня есть упорядоченная структура списка с RDBS и SQLAlchemy, используя числа как индексы в таблице отношений. Также я сохраняю наивысший используемый индекс в таблице списка, чтобы упростить добавление новых записей (без дополнительного макс-поиска по таблице отношений). Ибо, когда все портится, по какой-то причине я включил функцию реорганизации, которая перестраивает индексы начиная с 0 (чтобы удалить любые пробелы). Я к тому, что для-перечисления-итерации по таблице ассоциаций. После этого мне нужно подсчитать их или увеличить индекс, чтобы получить новое значение индекса для таблицы списка. Это меня беспокоит.
Предложения? Предпочтительно то, что работает в 2.7.
последний индекс? что-то вроде 'len (long_list) - 1'? – njzk2
'long_list [-1]' получает последний элемент в списке, 'len (long_list) - 1' получает последний индекс в списке –
Вот что я делаю прямо сейчас. Но список, лежащий в основе этого, является чем-то более сложным, который действует как список python, так что он может пересчитать это значение более сложным образом. Просто чувствует себя не так, когда я просто делал это в цикле. – kratenko