Python: Как я могу получить все элементы в списке до самого длинного элемента?
У меня есть список, например
l = ['abc34','def987','ghij','klmno','pqrstuvwxyz1234567','98765','43','210abc']
Как я могу получить все элементы в списке до появления самого длинного элемента, а не того, что приходит после?
- Как вернуть ничего для разрезания списка Python
- Разбить список из некоторого элемента и получить значения элементов в другом списке в Python 2.7
- Добавление кортежей в списки
- Создайте список из кортежа кортежей
- Дайте мне самый высокий элемент
Это работает:
lst = ['abc34','def987','ghij','klmno','pqrstuvwxyz1234567','98765','43','210abc'] idx, maxLenStr = max(enumerate(lst), key=lambda x:len(x[1])) sublist = lst[:idx]
Он только итерации через список один раз для определения максимальной длины, тогда как использование max()
а затем index()
повторяется дважды по всем элементам. Он также сохраняет строку с максимальной длиной в maxLenStr
и индексом, где она была найдена в idx
, на всякий случай.
Это один из способов:
l = ['abc34','def987','ghij','klmno','pqrstuvwxyz1234567','98765','43','210abc'] new_list = l[:l.index(max(l, key=len))]
- Как проверить загадочный десериализованный объект в Python
- Как настроить код Visual Studio для поиска интерпретатора Python 3 в Windows 10
- Сравните 2 списка, чтобы найти равное или приблизительное соответствие, не делая N ^ 2 итерации
- условный доступ на python к списку списков
- Выровняйте два списка и выполните действия по выровненным и пропущенным объектам
- Функция python numpy.where для списков
- Самый быстрый способ унифицировать список в Python
- Python создает группы кортежей в списке из другого списка
- Как сгладить кортеж в python
- Python: самая быстрая операция list.index () ИСПОЛЬЗОВАНИЕ 'is', а не '==' (т.е. по ссылке)
- Python создает список двумя разными способами