Функції sorted() та sum() у Python

Всіх вітаю! У цій статті ми розглянемо дві вбудовані функції під назвами sorted() та sum(). Також наведемо приклади до кожної з цих функцій у коді.

Функція sorted()

Функція sorted() приймає ітерований тип даних (список, кортеж, множина тощо) у якості параметра та сортує його елементи деяким чином:

numbers_list = [10, 5, 20, 15, 25, 30, 35, 50, 45, 40]
sorted_numbers = sorted(numbers_list)

print("Sorted list:", sorted_numbers)
print("Original list:", numbers_list)
Sorted list: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
Original list: [10, 5, 20, 15, 25, 30, 35, 50, 45, 40]

Також треба зазначити, що функція sorted() створює новий об’єкт, де дає нам вже відсортований тип даних. У нашому випадку першочерговий список та той, який ми помістили у функцію sorted() — це два різні списки, а не один. Тому списки numbers_list та sorted_numbers є різними об’єктами.

Також sorted() має ще й параметри key і reverse. Параметр key дозволяє вказати за яким принципом сортувати елементи. Наприклад, ми хочемо сортувати елементи за їх значенням факторіалу:

import math

numbers_list = [5, 3, 44, 18, 23, 0, 10, 2, 52, 34]
sorted_numbers = sorted(numbers_list, key=math.factorial)

print("Sorted list:", sorted_numbers)
print("Original list:", numbers_list)
Sorted list: [0, 2, 3, 5, 10, 18, 23, 34, 44, 52]
Original list: [5, 3, 44, 18, 23, 0, 10, 2, 52, 34]

Параметр reverse у свою чергу просто сортує список у зворотному напрямку та приймає тільки значення True і False. Наводимо приклад:

numbers_list = [5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
sorted_numbers = sorted(numbers_list, reverse=True)

print("Sorted list:", sorted_numbers)
print("Original list:", numbers_list)
Sorted list: [50, 45, 40, 35, 30, 25, 20, 15, 10, 5]
Original list: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50]

Також sorted() може працювати ще й із словниками. Ось наочний приклад як це відбувається:

albums_rating = {"The Death of Slim Shady": "Eminem",
                 "Let God Sort 'Em Out": "Clipse",
                 "God Does Like Ugly": "JID",
                 "DAMN": "Kendrick Lamar",
                 "KID A": "Radiohead"}

sorted_rating = sorted(albums_rating.keys())
print("Alphabetically sorted album's titles:", sorted_rating)

sorted_rating = sorted(albums_rating.values())
print("Alphabetically sorted artist's names:", sorted_rating)
Alphabetically sorted album's titles: ['DAMN', 'God Does Like Ugly', 'KID A', "Let God Sort 'Em Out", 'The Death of Slim Shady']
Alphabetically sorted artist's names: ['Clipse', 'Eminem', 'JID', 'Kendrick Lamar', 'Radiohead']

Як бачимо ключі та значення відсортовані за позицією у абетці:

Alphabetically sorted album's titles: ['DAMN', 'God Does Like Ugly', 'KID A', "Let God Sort 'Em Out", 'The Death of Slim Shady']
Alphabetically sorted artist's names: ['Clipse', 'Eminem', 'JID', 'Kendrick Lamar', 'Radiohead']

Тобто якщо у функції sorted() вказаний тільки ітерований тип даних з числовими елементами, то функція сортує цей тип даних від меншого значення до більшого. Якщо ж вказаний тільки ітеррований тип даних з рядковими елементами, тоді функція сортує їх за алфавітним порядком.

Функція sum()

Функція sum() також приймає ітерований тип даних, але навідміну від sorted() вона сумує усі елементи та виводить результат:

numbers_list = [5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
summed_numbers = sum(numbers_list)

print("Original list:", numbers_list)
print("Element's sum:", summed_numbers)
Original list: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
Element's sum: 275

Зрозуміло, що sum() приймає лише числові значення. Також дана функція має ще параметр start, який приймає числове значення та додає його до остаточного результату. Розглянемо приклад, де параметр start буде дорівнювати 20, тому і кінцевий результат суми збільшить з 275 до 295:

numbers_list = [5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
summed_numbers = sum(numbers_list, 20)

print("Original list:", numbers_list)
print("Element's sum:", summed_numbers)
Original list: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
Element's sum: 295

Висновок

У цьому матеріалі ми ознайомилися з функціями sorted() та sum() та їхніми параметрами. Оглянули роботу кожної функції на прикладах і навчилися їх викоритовувати у коді. Всім дякую за увагу!

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Mystique Lord
Mystique Lord@nocturnal_reader

Нічний читач

179Прочитань
17Автори
6Читачі
На Друкарні з 14 липня

Більше від автора

  • Функції frozenset() та filter() у Python

    Всіх вітаю! Сьогодні ми будемо розглядати вбудовані функції frozenset() та filter(). Будемо розбирати кожгу функцію окремо на основі прикладів.

    Теми цього довгочиту:

    Програмування
  • Функції max() та min() у Python

    Всіх вітаю! У цій невеличкій статті ми розберемо вбудовані функції min() та max(). Насправді дуже прості суті цих функцій, тож оглянемо кожну з них по черзі.

    Теми цього довгочиту:

    Програмування
  • Функції reversed() та map() у Python

    Вітаю всіх! Сьогодні ми поговоримо про вбудовані функції reversed() та map() у Python. Розглянемо роботу кожної з функції окремо на прикладах, які дадуть зрозуміти суть цих функій.

    Теми цього довгочиту:

    Програмування

Вам також сподобається

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Вам також сподобається