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

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

Суть itemgetter()

У модулі operator клас itemgetter() призначений для обрання елементів із ітерованих типів даниих. Варто всього лиш викликати його та передати потрібний елемент (або елементи) і ми отримаємо його.

До речі, варто також надати увагу й тому факту, що itemgetter() є не функцією, а саме класом.

Робота функції itemgetter()

Для початку роботи нам варто імпортувати модуль operator. Даний модуль є вбудованим, тому втсановлювати його потреби немає:

import operator

Приклад роботи зі списками

Почнемо з того, як можна використовувати клас itemgetter() зі списками. Наприклад, ми можемо обирати більше елементів зі списку, ніж коли вибираємо елемент звичайним способом.

Ось приклад, де ми беремо одразу три елементи зі списку:

english_football_clubs = ["Arsenal", "Chelsea", "Man City", "Brighton"]
get_elements = operator.itemgetter(0, 1, 3)

print(get_elements(english_football_clubs))
('Arsenal', 'Chelsea', 'Brighton')

Якраз у останньому рядку ми й можемо помітити, що маємо справу з класом, бо саме там ми записуємо змінну get_elements та надаємо їх список у дужках. По суті, get_elements — це екземпляр класу itemgetter().

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

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

chemical_elements = [("H", 2.20, 1.008), ("Na", 0.93, 22.98976928), ("Mg", 1.31, 24.305), ("Li", 0.98, 6.94)]

get_elements = operator.itemgetter(2)
sort_elements = sorted(chemical_elements, key=get_elements)
print(sort_elements)

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

[('H', 2.2, 1.008), ('Li', 0.98, 6.94), ('Na', 0.93, 22.98976928), ('Mg', 1.31, 24.305)]

Тепер сортуємо за першим елементом у кортежах (тобто за електронегативністю):

chemical_elements = [("H", 2.20, 1.008), ("Na", 0.93, 22.98976928), ("Mg", 1.31, 24.305), ("Li", 0.98, 6.94)]

get_elements = operator.itemgetter(1)
sort_elements = sorted(chemical_elements, key=get_elements)
print(sort_elements)
[('Na', 0.93, 22.98976928), ('Li', 0.98, 6.94), ('Mg', 1.31, 24.305), ('H', 2.2, 1.008)]

Приклади роботи зі словниками

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

Ось приклад коду, де ми взяли три значення за ключами:

import operator

tasks = {"Monday": "Training",
         "Tuesday": "Chess learning",
         "Wednesday": "Studying",
         "Thursday": "Go on the concert",
         "Friday": "Football game",
         "Saturday": "Room cleaning",
         "Sunday": "Go to park"}

get_values = operator.itemgetter("Sunday", "Saturday", "Friday")
print(get_values(tasks))
('Go to park', 'Room cleaning', 'Football game')

Таким чином, ми можемо брати більше одного значення зі словника. Як бачимо, у даному випадку ми взяли одразу три значення за ключами.

Висновок

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

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

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

Нічний читач

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

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

  • Метод index() у Python

    Всіх вітаю! Сьогодні ми розглянемо метод index() у Python та приклади його застосування.

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

    Програмування
  • Метод find() у Python

    У цій статті ми розберемо призначення та застосування методу find() у Python.

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

    Програмування
  • Новина блогу Magnifique numérique

    У проєкту Magnifique numérique тепер з'явився власний сайт, де будуть викладатися усі нові статті.

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

    It

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

  • Поширені помилки у дизайні REST API

    У довгочиті розглядаються поширені помилки при проектуванні REST API та способи їх уникнення: версіонування, використання DTO, підхід CQRS, робота з мікросервісами, та інші практики для підвищення продуктивності, безпеки й зручності API

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

    Java

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

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

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

  • Поширені помилки у дизайні REST API

    У довгочиті розглядаються поширені помилки при проектуванні REST API та способи їх уникнення: версіонування, використання DTO, підхід CQRS, робота з мікросервісами, та інші практики для підвищення продуктивності, безпеки й зручності API

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

    Java