Друкарня від WE.UA

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

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

  • Вітаємо з Різдвом Христовим!

    Друкарня та платформа WE.UA вітають всіх наших читачів та авторів зі світлим святом Різдва! Зичимо всім українцям довгожданого миру, міцного здоровʼя, злагоди, родинного затишку та втілення всього доброго і прекрасного, чого вам побажали колядники!

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

    Різдво
  • Каблучки – прикраси, які варто купувати

    Ювелірні вироби – це не тільки спосіб витратити гроші, але і зробити вигідні інвестиції. Бо вартість ювелірних виробів з кожним роком тільки зростає. Тому купуючи стильні прикраси, ви вигідно вкладаєте кошти.

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

    Як Вибрати Каблучку
  • П'ять помилок у виборі домашнього текстилю, які псують комфорт сну

    Навіть ідеальний матрац не компенсує дискомфорт, якщо текстиль підібрано неправильно. Постільна білизна безпосередньо впливає на терморегуляцію, стан шкіри та глибину сну. Більшість проблем виникає не через низьку якість виробів, а через вибір матеріалів та подальшу експлуатацію

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

    Домашній Текстиль
  • Як знайти житло в Києві

    Переїжджаєте до Києва і шукаєте житло? Дізнайтеся, як орендувати чи купити квартиру, перевірити власника та знайти варіанти, про які зазвичай не говорять.

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

    Агентство Нерухомості
  • Як заохотити дитину до читання?

    Як залучити до читання сучасну молодь - поради та факти. Користь читання для дітей - основні переваги. Розвиток дітей - це наше майбутнє.

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

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

Нічний читач

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

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

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

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

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

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