Найти первый элемент с алфавитным приоритетом в списке с числами

Скажем, у меня есть объект списка, занятый как числами, так и строками. Если я хочу получить первый строковый элемент с наивысшим приоритетом в алфавитном порядке, как бы я это сделал?

Вот пример попытки, которая явно неверна, но следует принять во внимание исправления относительно того, что нужно изменить для достижения желаемого результата:

lst = [12, 4, 2, 15, 3, 'ALLIGATOR', 'BEAR', 'ANTEATER', 'DOG', 'CAT'] lst.sort() for i in lst: if i[0] == "A": answer = i print(answer) 

3 Solutions collect form web for “Найти первый элемент с алфавитным приоритетом в списке с числами”

Сначала используйте выражение генератора, чтобы отфильтровать не строки, а затем используйте min() чтобы выбрать строку с самым высоким алфавитным присутствием:

 >>> min(x for x in lst if isinstance(x, str)) 'ALLIGATOR 

IIUC вы могли бы использовать isinstance чтобы получить подсписку из вашего исходного списка только с строками, а затем с sorted получить первый элемент по алфавитной сортировке:

 sub_lst = [i for i in lst if isinstance(i, str)] result = sorted(sub_lst)[0] print(sub_lst) ['ALLIGATOR', 'BEAR', 'ANTEATER', 'DOG', 'CAT'] print(result) 'ALLIGATOR' 

Или вы можете использовать min как @ TigerhawkT3, предложенный в комментарии:

 print(min(sub_lst)) 'ALLIGATOR' 

Другой способ – отфильтровать основной список lst от интергеров, используя встроенный filter :

 >>> min(filter(lambda s:isinstance(s, str), lst)) 'ALLIGATOR' 
  • Как нарисовать правильную сетку на PyQt?
  • npm Использовать 2 версии Python
  • Когда тип (экземпляр) не является экземпляром .__ class__?
  • ошибка синтаксиса печати с помощью python 3
  • Ошибка импорта модуля C ++ Python: «undefined symbol: Py_InitModule3» (Py_InitModule ())
  • Python 3. Необходимо записать в файл, проверить, существует ли строка, а затем записать в файл снова
  • Как максимизировать plt.show () с помощью python на mac?
  • Как я могу конвертировать 24 часа в 12 часов?
  •  
    Interesting Posts for Van-Lav

    NoneType Ошибка self.widget.insert

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

    Запуск приложения Python на Android-телефоне

    AppEngine MapReduce NDB, повторная внутренняя ошибка: внутренняя ошибка

    Как вызвать ssh по модулю подпроцесса, чтобы он использовал переменную SSH_ASKPASS

    Форматирование разбиения строк в python 3

    сохранение пути к файлу с помощью браузера браузера Windows в python

    Как фильтровать Haystack SearchQuerySet для None на IntegerField

    Selenium «Невозможно найти соответствующий набор возможностей», несмотря на то, что драйвер находится в / usr / local / bin

    WSGI (кэширование результата mysql до изменения кода скрипта). (хотите остановить это кеширование)

    Как бинарировать значения в pandas DataFrame?

    Конструктор Flask-SQLAlchemy

    Обновление наборов данных h5py

    чистое числовое выражение для выбора подмассивов одинаковой длины с разными начальными индексами из трехмерного массива

    Как удалить этот специальный символ?

    Python - лучший язык программирования в мире.