Напишите функцию, которая будет сортировать список авторов книг по их фамилиям.

Примечания

  • В списке могут содержаться как полные имена, так и инициалы.
  • Если указывается не только фамилия, то она идет последней (т.е. Александр Пушкин, а не Пушкин Александр).
  • Имена, фамилии, инициалы могут писаться буквами в разных регистрах.
  • Если две фамилии начинаются с одной буквы, верните их в том порядке, в котором они стоят в списке.
  • Обратите внимание на пробелы между инициалами.

Примеры

sort_authors(["J. K. Rowling", "w. s.", "lewis carroll", "M. M."]) ➞ ["lewis carroll", "M. M.", "J. K. Rowling", "w. s."]

sort_authors(["J. L.", "J. B. priestley", "L. C.", "Suzanne Collins"]) ➞ ["L. C.", "Suzanne Collins", "J. L.", "J. B. priestley"]

Варианты решений

def sort_authors(lst):
    return sorted(lst, key=lambda x: x.split()[-1].upper())
def sort_authors(lst):
    def last_lower(x):
        return x.split()[-1].upper()
    return sorted(lst, key=last_lower)
def sort_authors(lst):
    lst2 = [(i.split()[-1][0]) for i in lst ]
    lst3 = sorted([(i[0].lower(),j) for j,i in enumerate(lst2)])
    return [lst[i[1]] for i in lst3]
Марина

Recent Posts

Библиотека Pydantic: валидация данных на Python

Pydantic - это мощная библиотека проверки данных и управления настройками для Python, созданная для повышения…

3 дня ago

7 наилучших библиотек визуализации Python на 2024 год

Python предлагает набор библиотек, удовлетворяющих различные потребности в визуализации, будь то академические исследования, бизнес-аналитика или…

7 дней ago

Как преобразовать строку в байты в Python

В Python для представления данных в двоичной форме можно использовать байты. Из этой статьи вы…

2 недели ago

Что такое Werkzeug?

В этой статье рассказывается о том, что такое Werkzeug и как Flask использует его для…

3 недели ago

Как прибавить дни, месяцы и годы к дате в Python

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

4 недели ago

Социальная аутентификация в приложении на Flask

В этом руководстве мы рассмотрим, как добавить социальную аутентификацию с помощью GitHub и Google в…

1 месяц ago