Python: Урок 11. Словники
Одним із складних типів даних (поряд з рядками і списками) у мові програмування Python є словники.
Словник (Dictionary) — це змінюваний (як і список) невпорядкований (на відміну від рядків і списків) набір пар "ключ: значення".
Щоб уявлення про словник стало більш зрозумілим, можна провести аналогію зі звичайним словником, наприклад, англо-українським. На кожне англійське слово в такому словникові є українське слово-переклад: cat — кішка, dog — собака, table — стіл і т.д. Якщо англо-український словник описувати за допомогою Python, то англійські слова будуть ключами, а українські — їхніми значеннями:
Якщо створити словник в інтерпретаторі Python, то після натискання Enter можна спостерігати, що послідовність виведення пар "ключ: значення" може не збігатися з тим, як було введено:
2. Дізнайтеся скільки людей в якомусь класі.
3. Уявіть, що в школі відбулися зміни, внесіть їх до словника:
Урок 1. Історія мов програмування. Компіляція та інтерпретація
Урок 2. Знайомство з Python і середовищами програмування
Урок 3. Типи даних в програмуванні. Визначення змінної
Урок 4. Логічні вирази
Урок 5. Умовний оператор. Інструкція if
Урок 6. Множинне розгалуження
Урок 7. Цикл while
Урок 8. Введення даних з клавіатури
Урок 9. Рядки як послідовності символів
Урок 10. Списки - змінювані послідовності
Урок 11. Cловники
Урок 12. Цикл for
Урок 13. Функції
Урок 14. Параметри і аргументи функцій. Локальні та глобальні змінні
Урок 15. Перевірочна робота з основ програмування на Python
Словник (Dictionary) — це змінюваний (як і список) невпорядкований (на відміну від рядків і списків) набір пар "ключ: значення".
Щоб уявлення про словник стало більш зрозумілим, можна провести аналогію зі звичайним словником, наприклад, англо-українським. На кожне англійське слово в такому словникові є українське слово-переклад: cat — кішка, dog — собака, table — стіл і т.д. Якщо англо-український словник описувати за допомогою Python, то англійські слова будуть ключами, а українські — їхніми значеннями:
{'cat': 'кішка', 'dog': 'собака', 'bird': 'птах', 'mouse': 'миша'}Зверніть увагу на фігурні дужки, саме з їх допомогою визначається словник. Синтаксис словника на Python можна описати такою схемою:
Якщо створити словник в інтерпретаторі Python, то після натискання Enter можна спостерігати, що послідовність виведення пар "ключ: значення" може не збігатися з тим, як було введено:
>>> {'cat': 'кішка', 'dog': 'собака', 'bird': 'птах', 'mouse': 'миша'} {'bird': 'птах', 'mouse': 'миша','dog':'собака','cat':'кішка'}Справа в тім, що в словнику абсолютно не важливий порядок пар, і інтерпретатор виводить їх у випадковому порядку. Тоді як же отримати доступ до певного елемента, якщо індексація не можлива в принципі? Відповідь: в словнику доступ до значень здійснюється за ключами, які беруться у квадратні дужки (за аналогією з індексами рядків і списків).
>>> dic = {'cat': 'кішка', 'dog': 'собака', 'bird': 'птах', 'mouse': 'миша'} >>> dic ['cat'] 'кішка' >>> dic ['bird'] 'птах'Словники, як і списки, є змінним типом даних: можна змінювати, додавати та видаляти елементи (пари "ключ: значення"). Спочатку словник можна створити порожнім (наприклад, d = {}) і лише потім заповнити його елементами. Додавання і зміна має однаковий синтаксис: словник[ключ] = значення. Ключ може бути як вже існуючим (тоді відбувається зміна значення), так і новим (відбувається додавання елемента словника). Видалення елемента словника здійснюється за допомогою функції del().
>>> dic = {'cat': 'кішка', 'dog': 'собака', 'bird': 'птах', 'mouse': 'миша'} >>> dic ['elephant'] = 'бегемот' >>> dic ['fox'] = 'лисиця' >>> dic {'fox': 'лисиця', 'dog': 'собака', 'cat': 'кішка', 'elephant': 'бегемот', 'mouse': 'миша', 'bird': 'птах'} >>> dic ['elephant'] = 'слон' >>> del(dic['bird']) >>> dic {'fox': 'лисиця', 'dog': 'собака', 'cat': 'кішка', 'elephant': 'слон', 'mouse': 'миша'}Типи даних ключів і значень словників не обов'язково повинні бути рядками. Значення словників можуть бути більш складними (містити структури даних, наприклад, інші словники або списки).
>>> d = {1:'one',2:'two',3:'three'} >>> d {1: 'one', 2: 'two', 3: 'three'} >>> d = {10:[3,2,8], 100:[1,10,5], 1000:[23,1,5]} >>> d {1000: [23, 1, 5], 10: [3, 2, 8], 100: [1, 10, 5]} >>> d = {1.1:2, 1.2:0, 1.3:8} >>> d {1.3: 8, 1.2: 0, 1.1: 2} >>> d = {1.1:2, 10:'apple', 'box':100} >>> d {'box': 100, 10: 'apple', 1.1: 2}Словники - це широко використовуваний тип даних мови Python. Для роботи з ними існує ряд вбудованих функцій.
Практична робота
1. Створіть словник, зв'язавши його з змінною school, і наповніть його даними, які б відображали кількість учнів у десяти різних класах (наприклад, 1а, 1б, 2б, 6а, 7в і т.д.).2. Дізнайтеся скільки людей в якомусь класі.
3. Уявіть, що в школі відбулися зміни, внесіть їх до словника:
- в трьох класах змінилася кількість учнів;
- у школі з'явилося два нових класи;
- у школі розформували один з класів.
Зміст курсу
ВступУрок 1. Історія мов програмування. Компіляція та інтерпретація
Урок 2. Знайомство з Python і середовищами програмування
Урок 3. Типи даних в програмуванні. Визначення змінної
Урок 4. Логічні вирази
Урок 5. Умовний оператор. Інструкція if
Урок 6. Множинне розгалуження
Урок 7. Цикл while
Урок 8. Введення даних з клавіатури
Урок 9. Рядки як послідовності символів
Урок 10. Списки - змінювані послідовності
Урок 11. Cловники
Урок 12. Цикл for
Урок 13. Функції
Урок 14. Параметри і аргументи функцій. Локальні та глобальні змінні
Урок 15. Перевірочна робота з основ програмування на Python
Коментарі