Четвертый блок

Четвертый блок

Advanced Python
Сортировка с помощью sort и sorted
  • list.sort() - метод списков
  • sorted() - встроенная функция для сортировки итерируемых объектов
  • Сортировка по ключу. Аргумент key


Мы можем применять метод .sort() лишь к спискам

То есть если у нас не изменяемый объект, (такой как tuple or str) или если у нас словарь то мы не можем применить метод .sort()

Нужно использовать sorted()


Когда мы применяем метод .sort() то мы изменяем исходный список

При этом метод sort() ничего не возвращает !!!

Нужно сперва применить этот метод, а уже потом выводить нашу переменную, иначе будет None

Не нужно делать никаких присваиваний:

a = values.sort() - выдаст нам None


Если в нашем списке есть элементы которые мы не можем сравнивать, например строка, то выдаст нам ошибку

Если мы хотим отсортировать наш список по убыванию, то нужно прописать параметр (reverse = True)


Метод sorted()

Если мы хотим отсортировать наш список или другую коллекцию, но не изменить ее, то используем метод sorted()

В отличии от sort() если мы хотим сохранить результат, то нужно сделать присвоение переменной

Метод sorted() мы можем применить к неизменяемой последовательности


Передали в параметр наш список, прежний список не изменился

Если хотим отсортировать по убыванию, то дополнительно указываем параметр (reverse = True)


А что если нам нужно отсортировать кортеж, словарь, строку

Функцию sorted() можно применить к любому итерируемому объекту

Применяем к tuple:

На выходе мы получаем список из сортированных значений !!!


Применяем к строке

Получаем список из подстрок


Применяем к словарю

На выходе получаем список из отсортированных ключей

Если мы хотим отсортировать по значениям:

Сортировка по ключам, чтоб отображались и значения

Можем теперь преобразовать список из кортежей в словарь

Задачки:

Тут мы можем уже при сортировки указать сколько туда попадет элементов, так как функция sorted создает нам список


Посчитать сумму двух отсортированных массивов



 Сортировка по ключу Python. Аргумент key

  • Передать встроенную функцию (abs, len..)

К нашей последовательности поочередно применяется функция


  • Передать собственно функцию

Тут мы сортируем по последней цифре

Такая же сортировка только в порядке убывания, можно написать параметр reverse = True, или поставить - (перед выражением) Работает только для чисел!

Сортировка по двум критериям

Сперва сортируется по первому критерию, если он одинаковый то уже по второму


  • Встроенные методы объектов


  • Анонимные функции при помощи (lambda)

Тут важно обернуть все в int() при сортировки чисел !!!

Двойная сортировка

Указываем скобками кортеж, (потому что нам нужно вернуть 1 значение) проверяется сперва первое условие если оно верное для двух значений то сортируется по второму

Прописываем lower() чтоб регистр не влиял на сортировку



























Report Page