Друкарня від 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. Також ми розглянули нехай й прості, але все ж приклади використання цих вбудованих функцій. Сподіваюся, що даний матеріал вам сподобався! Дякую за увагу!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Нічний читач

396Прочитань
21Автори
11Читачі
Підтримати
На Друкарні з 14 липня

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

  • Гарне форматування з pprint

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

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

    Програмування
  • Скалярний, векторний та мішаний добутки у Python

    Всіх вітаю! Предметом обговорення у сьогоднішній статті будуть скалярний, векторний та мішаний добутки у Python за допомогою бібліотеки numpy. У цій статті ми розглянемо як реалізувати усі ці добуки через відповідний функціонал та дещо дізнаємося про їх суть.

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

    Програмування
  • Обчислення статистичних показників даних про прогноз погоди у Python

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

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

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

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

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

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

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