Drukarnia.BLOG

Функції 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() та їхніми параметрами. Оглянули роботу кожної функції на прикладах і навчилися їх викоритовувати у коді. Всім дякую за увагу!

Статті про вітчизняний бізнес та цікавих людей:

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Magnifique numérique
Magnifique numérique@magnifiquedigitalworld

Прекрасний цифровий світ

96Довгочити
2KПерегляди
28Підписники
Підтримати
На Друкарні з 14 липня 2025

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

  • Клас Timer у модулі threading в Python

    У цій статті ми розглянемо, поняття потоків і таймерів та їх особливості. Крім того, ми навчимося створювати власні кастомні таймери, які будуть виконувати код саме так, як нам треба.

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

    Програмування
  • Відтепер для застосунків на Base44 можна додавати push-повідомлення

    Нещодавно компанія-розробник платформи Base44, яка дозволяє створювати застосунки за допомогою ШІ, заявила, що відтепер до своїх застосунків можна підключати push-повідомлення.

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

    It Новини
  • Оновлення проєкту Magnifique numérique

    Відтепер Magnifique numérique — це не лише про статті з програмування, а й новини про IT та технології. Це означає, що відтепер контент стане різноманітнішим.

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

    Оновлення

Це також може зацікавити:

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

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

Це також може зацікавити: