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

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

Функція max()

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

Ось таким чином ми можемо її застосувати:

data = [37, 25, 64, 102, 0, -12, 90, 81, 4]

max_value = max(data)
print("Max value:", max_value)
Max value: 102

Також max() приймає параметр key, у якому ми можемо вказати функцію за якою будемо знаходити найбільше значення.

Ось приклад такої реалізації у коді:

import math

data = [37, 25, 64, 102, 0, -12, 90, 81, 4]

max_value = max(data, key=math.cos)
print(max_value)
Max value: 0

У даному випадку ми беремо від кожного елементу списку косинус і за таким принципом визначаємо найбільший елемент у списку. Як бачимо, тепер результат вийшов зовсім іншим.

Тепер візьмемо синус замість косинуса. У результаті маємо:

data = [37, 25, 64, 102, 0, -12, 90, 81, 4]

max_value = max(data, key=math.sin)
print("Max value:", max_value)
Max value: 102

Також ми можемо працювати з рядками. У такому разі найбільше значення буде те, яке має більший Unicode код. Ось приклад:

symbols = ["A", "B", "C", "D", "E"]

max_value = max(symbols)
print("Max value:", max_value)
Max value: E

У даному випадку E має найбільший серед усіх іншим елементів Unicode код. У цьому легко переконатися за допомогою функції ord(), яка приймає рядок із символом та повертає його позицію у Unicode. Ми можемо перевірити кожен елемент на їхню позицію та вивести це у консоль:

symbols = ["A", "B", "C", "D", "E"]

for values in symbols:
    print(f"{values}: {ord(values)}")
A: 65
B: 66
C: 67
D: 68
E: 69

Як бачимо, E дійсно найбільше значення тут.

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

symbols = ["Same", "Intellect", "Cold", "Straight", "Food"]

max_value = max(symbols)
print("Max value:", max_value)
Max value: Straight

Як max() визначила, що Straight найбільше? Давайте розберемося. Отже, спочатку вона порівняла перші літери усіх слів, а коли знайшла серед них найбільше за позицією у Unicode, просто почала порівнювати інші літери у словах Same та Straight. Літера t у слові Straight виявилася більшою за a, тому слово Straight є найбільшим.

Ми можемо це перевірити, якщо пройдемося по кожній літері у словах зі списку:

symbols = ["Same", "Intellect", "Cold", "Straight", "Food"]

max_value = max(symbols)
print("Max value:", max_value)

print(f"\n"
      f"Word: {symbols[0]}")

for values in symbols[0]:
    print(f"{values}: {ord(values)}")

print(f"\n"
      f"Word: {symbols[1]}")

for values in symbols[1]:
    print(f"{values}: {ord(values)}")

print(f"\n"
      f"Word: {symbols[2]}")

for values in symbols[2]:
    print(f"{values}: {ord(values)}")

print(f"\n"
      f"Word: {symbols[3]}")

for values in symbols[3]:
    print(f"{values}: {ord(values)}")

print(f"\n"
      f"Word: {symbols[4]}")

for values in symbols[4]:
    print(f"{values}: {ord(values)}")
Max value: Straight

Word: Same
S: 83
a: 97
m: 109
e: 101

Word: Intellect
I: 73
n: 110
t: 116
e: 101
l: 108
l: 108
e: 101
c: 99
t: 116

Word: Cold
C: 67
o: 111
l: 108
d: 100

Word: Straight
S: 83
t: 116
r: 114
a: 97
i: 105
g: 103
h: 104
t: 116

Word: Food
F: 70
o: 111
o: 111
d: 100

Як бачимо, слова Same та Straight починаються з S, а ця літера має код 83. Саме тому наступним кроком max() почала порівнювати літери a та t, де t виявилася більшим (97 < 116).

Функція min()

Функція min() приймає ітерований тип даних та знаходить елемент із мінімальним значенням у ньому.

Використовуємо її так само як і попередню функцію:

data = [37, 25, 64, 102, 0, -12, 90, 81, 4]

min_value = min(data)
print("Min value:", min_value)
Min value: -12

Також приклади з параметром key:

data = [37, 25, 64, 102, 0, -12, 90, 81, 4]

min_value = min(data, key=math.exp)
print("Min value:", min_value)
Min value: -12

У цьому прикладі ми визначили найменше значення за експонентою. Тобто брали експоненту з кожного елемента зі списку. Тепер можемо прибрати від’ємні значення та знайти найменше значення за факторіалом, як у цьому прикладі:

data = [37, 25, 64, 102, 0, 12, 90, 81, 4]

min_value = min(data, key=math.factorial)
print("Min value:", min_value)
Min value: 0

А тепер спробуємо знайти найменшезначення серед нашого списку з рядками:

symbols = ["A", "B", "C", "D", "E"]

min_value = min(symbols)
print("Min value:", min_value)
Min value: A

Тепер знайдемо найменше значення серед слів:

symbols = ["Same", "Intellect", "Cold", "Straight", "Food"]

min_value = min(symbols)
print("Min value:", min_value)
Min value: Cold

Приклад використання обох функцій у програмі

Тепер думаю настав час розглянути приклад викоирстання обох функцій на у більш цікавому коді. Ось тут повна програма:

import random

data = []


def data_creation():
    while len(data) < 10:
        random_element = random.randint(-10, 100)
        data.append(random_element)

        if len(data) >= 10:
            break

    print("Created data:", data)


def data_analysis():
    max_value = max(data)
    min_value = min(data)
    middle_value = max_value + min_value / 2

    print("Max value:", max_value)
    print("Min value:", min_value)
    print("Middle value:", middle_value)


data_creation()
data_analysis()
Created data: [46, 97, 16, 53, 22, 20, 20, 74, 70, 53]
Max value: 97
Min value: 16
Middle value: 105.0

Отже, пропоную почати поступовий розбір коду. Почнемо з того, шо напочатку ми імпортуємо модуль random:

import random

Далі створюємо поки що пустий словник під назвою data:

data = []

1. Щодо функції data_creation().

Створюємо цикл while, у якому ставимо умову, щоб довжина списку data повинна бути менше 10:

while len(data) < 10:

Генеруємо випадкове число від -10 до 100 та додаємо його у список data:

random_element = random.randint(-10, 100)
data.append(random_element)

Якщо довжина списку data більше або дорівнює 10, то ми зупиняємо цикл:

if len(data) >= 10:
    break

Виводимо список з випадково згенерованих чисел:

print("Created data:", data)

2. Щодо функції data_analysis().

Визначаємо найбільше та найменше значення списку data:

max_value = max(data)
min_value = min(data)

Обчислюємо середнє арифметичне значення між найбільшим та найменшим елементами списку:

middle_value = max_value + min_value / 2

Виводимо значення:

print("Max value:", max_value)
print("Min value:", min_value)
print("Middle value:", middle_value)

Наприкінці програми викликаємо створені функції:

data_creation()
data_analysis()

На цьому все. Це був останній приклад, який ми розібрали.

Висновок

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

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

  • CRM keyCRM: зручне рішення для продажів, комунікацій і керування командою

    Успіх компанії залежить від того, наскільки швидко вона здатна опрацьовувати вхідні запити. Коли дані про клієнтів розпорошені між різними месенджерами, виникає хаос. CRM keyCRM пропонує вихід із цієї ситуації, об’єднуючи всі робочі процеси в єдиному зручному інтерфейсі.

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

    Crm
  • Різниця між UX і UI, яку варто зрозуміти ще до першого заняття

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

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

    Ui-ux
  • Логіка змін: як SEO оптимізація прибирає бар’єри до зростання

    Багато компаній приходять у SEO з очікуванням швидкого ривка, але дійсний ефект починається там, де сайт перестають латати точково. Тому в центрі роботи стоїть не окрема дія, а послідовні зміни. Оптимізація сайту має прибирати системні перешкоди, а не маскувати їх новими текстами

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

    Seo
  • Музичний футуризм: неймовірні інструменти XXI століття

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

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

    Музичні Інструменти
  • Стіл – всьому голова? Так, якщо його правильно підібрати

    Коли починаєш вивчати пропозицію меблевих фабрик щодо столів, дивуєшся кількості варіантів, адже вони пропонують різні розміри, різні матеріали, різноманітні форми та дизайни. Скористайтесь нашим каталогом MebelOK, щоб Ви могли підібрати найкращу модель для Вашого приміщення

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

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

Нічний читач

56Довгочити
995Перегляди
18Підписники
Підтримати
На Друкарні з 14 липня 2025

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

  • Список різноманітних бібліотек у Python

    Всіх вітаю! Сьогодні хочу поділитися великим списком бібліотек у Python для різного призначення та потреб:https://github.com/vinta/awesome-pythonТут багато цікавих бібліотек зібрано за сферами їхньго призначення.

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

    It
  • Roadmap — ваш путівник до поставлених цілей.

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

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

    It
  • Клас itemgetter() у модулі operator

    Всіх вітаю! У даній статті ми продовжимо тему спеціальних властивостей словників у Python. На цей раз ми поговоримо про модуль operator та його клас itemgetter(), яка дозволяє працювати зі списками та словниками у Python.

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

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

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

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

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

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