Drukarnia.BLOG

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

Articles about local business and interesting people:

Share your ideas in a new publication.
We are waiting for your longread!
Magnifique numérique

Magnifique numérique

@magnifiquedigitalworld

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

95Longreads
2KViews
28Followers
Support
On Drukarnia since July 14 2025

More from the author

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

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

    Topics of this longread:

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

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

    Topics of this longread:

    Оновлення
  • Метод zfill() у Python

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

    Topics of this longread:

    It

You may also be interested in:

Comments (0)

Support the author first.
Write a comment!

You may also be interested in: