Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Генератор Словників | Словник
Структури Даних в Python
course content

Зміст курсу

Структури Даних в Python

Структури Даних в Python

1. Список
2. Словник
3. Кортеж
4. Множина

bookГенератор Словників

Генератор Словників (Dictionary Comprehentions) - це лаконічний спосіб створення словників у Python. Вони будуються у такий самий спосіб, як і скорочення списків, але з деякими винятками.

Базовий Генератор Словників

По суті, базові словникові скорочення дозволяють створювати нові словники шляхом застосування виразу до кожної пари ключ-значення у змінній, що перераховується.

Синтаксис:

Що робить: Для кожного item у iterable обчислюється key_expression і value_expression, щоб створити нову пару ключ-значення у словнику.

Примітка

На відміну від списків, словники вимагають фігурних дужок {} замість квадратних дужок []. Крім того, у словнику ви вказуєте ключ: значення, розділені двокрапкою, як у key: item, а не лише одне значення.

Тут для кожного числа x у діапазоні від 0 до 4 (включно) ми створюємо пару ключ-значення, де ключем є число, а значенням - квадрат цього числа.

Це рівноцінно наступному синтаксису:

123456
squared_dict = {} for x in (0, 1, 2, 3, 4): squared_dict[x] = x * x print(squared_dict)
copy

Генератор Словників з Умовою

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

Синтаксис: {key_expression: value_expression for item in iterable if condition}.

Що він робить: Для кожного item в iterable, якщо condition має значення True, він обчислює і key_expression, і value_expression і додає отриману пару ключ-значення до словника.

У цьому прикладі ми будуємо пари ключ-значення лише для чисел з діапазону від 0 до 5, якщо вони парні. Значення являє собою квадрат ключа.

Це приклад має такий самий результат, як і цикл for:

1234567
even_dict = {} for x in (0, 1, 2, 3, 4): if x % 2 == 0: even_dict[x] = x * x print(even_dict)
copy

Генератор словників, як і генератор списків, є більш ефективним і «пітонічним» способом створення словників, який часто виявляється швидшим у виконанні у порівнянні з традиційними методами циклу.

Завдання
test

Swipe to show code editor

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

Примітка

Вираз for city, population in cities_popul.items() повторює кожну пару ключ-значення зі словника. Під час кожного циклу city містить назву міста зі словника, а population фіксує пов’язане значення чисельності населення.

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 9
toggle bottom row

bookГенератор Словників

Генератор Словників (Dictionary Comprehentions) - це лаконічний спосіб створення словників у Python. Вони будуються у такий самий спосіб, як і скорочення списків, але з деякими винятками.

Базовий Генератор Словників

По суті, базові словникові скорочення дозволяють створювати нові словники шляхом застосування виразу до кожної пари ключ-значення у змінній, що перераховується.

Синтаксис:

Що робить: Для кожного item у iterable обчислюється key_expression і value_expression, щоб створити нову пару ключ-значення у словнику.

Примітка

На відміну від списків, словники вимагають фігурних дужок {} замість квадратних дужок []. Крім того, у словнику ви вказуєте ключ: значення, розділені двокрапкою, як у key: item, а не лише одне значення.

Тут для кожного числа x у діапазоні від 0 до 4 (включно) ми створюємо пару ключ-значення, де ключем є число, а значенням - квадрат цього числа.

Це рівноцінно наступному синтаксису:

123456
squared_dict = {} for x in (0, 1, 2, 3, 4): squared_dict[x] = x * x print(squared_dict)
copy

Генератор Словників з Умовою

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

Синтаксис: {key_expression: value_expression for item in iterable if condition}.

Що він робить: Для кожного item в iterable, якщо condition має значення True, він обчислює і key_expression, і value_expression і додає отриману пару ключ-значення до словника.

У цьому прикладі ми будуємо пари ключ-значення лише для чисел з діапазону від 0 до 5, якщо вони парні. Значення являє собою квадрат ключа.

Це приклад має такий самий результат, як і цикл for:

1234567
even_dict = {} for x in (0, 1, 2, 3, 4): if x % 2 == 0: even_dict[x] = x * x print(even_dict)
copy

Генератор словників, як і генератор списків, є більш ефективним і «пітонічним» способом створення словників, який часто виявляється швидшим у виконанні у порівнянні з традиційними методами циклу.

Завдання
test

Swipe to show code editor

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

Примітка

Вираз for city, population in cities_popul.items() повторює кожну пару ключ-значення зі словника. Під час кожного циклу city містить назву міста зі словника, а population фіксує пов’язане значення чисельності населення.

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 9
toggle bottom row

bookГенератор Словників

Генератор Словників (Dictionary Comprehentions) - це лаконічний спосіб створення словників у Python. Вони будуються у такий самий спосіб, як і скорочення списків, але з деякими винятками.

Базовий Генератор Словників

По суті, базові словникові скорочення дозволяють створювати нові словники шляхом застосування виразу до кожної пари ключ-значення у змінній, що перераховується.

Синтаксис:

Що робить: Для кожного item у iterable обчислюється key_expression і value_expression, щоб створити нову пару ключ-значення у словнику.

Примітка

На відміну від списків, словники вимагають фігурних дужок {} замість квадратних дужок []. Крім того, у словнику ви вказуєте ключ: значення, розділені двокрапкою, як у key: item, а не лише одне значення.

Тут для кожного числа x у діапазоні від 0 до 4 (включно) ми створюємо пару ключ-значення, де ключем є число, а значенням - квадрат цього числа.

Це рівноцінно наступному синтаксису:

123456
squared_dict = {} for x in (0, 1, 2, 3, 4): squared_dict[x] = x * x print(squared_dict)
copy

Генератор Словників з Умовою

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

Синтаксис: {key_expression: value_expression for item in iterable if condition}.

Що він робить: Для кожного item в iterable, якщо condition має значення True, він обчислює і key_expression, і value_expression і додає отриману пару ключ-значення до словника.

У цьому прикладі ми будуємо пари ключ-значення лише для чисел з діапазону від 0 до 5, якщо вони парні. Значення являє собою квадрат ключа.

Це приклад має такий самий результат, як і цикл for:

1234567
even_dict = {} for x in (0, 1, 2, 3, 4): if x % 2 == 0: even_dict[x] = x * x print(even_dict)
copy

Генератор словників, як і генератор списків, є більш ефективним і «пітонічним» способом створення словників, який часто виявляється швидшим у виконанні у порівнянні з традиційними методами циклу.

Завдання
test

Swipe to show code editor

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

Примітка

Вираз for city, population in cities_popul.items() повторює кожну пару ключ-значення зі словника. Під час кожного циклу city містить назву міста зі словника, а population фіксує пов’язане значення чисельності населення.

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Генератор Словників (Dictionary Comprehentions) - це лаконічний спосіб створення словників у Python. Вони будуються у такий самий спосіб, як і скорочення списків, але з деякими винятками.

Базовий Генератор Словників

По суті, базові словникові скорочення дозволяють створювати нові словники шляхом застосування виразу до кожної пари ключ-значення у змінній, що перераховується.

Синтаксис:

Що робить: Для кожного item у iterable обчислюється key_expression і value_expression, щоб створити нову пару ключ-значення у словнику.

Примітка

На відміну від списків, словники вимагають фігурних дужок {} замість квадратних дужок []. Крім того, у словнику ви вказуєте ключ: значення, розділені двокрапкою, як у key: item, а не лише одне значення.

Тут для кожного числа x у діапазоні від 0 до 4 (включно) ми створюємо пару ключ-значення, де ключем є число, а значенням - квадрат цього числа.

Це рівноцінно наступному синтаксису:

123456
squared_dict = {} for x in (0, 1, 2, 3, 4): squared_dict[x] = x * x print(squared_dict)
copy

Генератор Словників з Умовою

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

Синтаксис: {key_expression: value_expression for item in iterable if condition}.

Що він робить: Для кожного item в iterable, якщо condition має значення True, він обчислює і key_expression, і value_expression і додає отриману пару ключ-значення до словника.

У цьому прикладі ми будуємо пари ключ-значення лише для чисел з діапазону від 0 до 5, якщо вони парні. Значення являє собою квадрат ключа.

Це приклад має такий самий результат, як і цикл for:

1234567
even_dict = {} for x in (0, 1, 2, 3, 4): if x % 2 == 0: even_dict[x] = x * x print(even_dict)
copy

Генератор словників, як і генератор списків, є більш ефективним і «пітонічним» способом створення словників, який часто виявляється швидшим у виконанні у порівнянні з традиційними методами циклу.

Завдання
test

Swipe to show code editor

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

Примітка

Вираз for city, population in cities_popul.items() повторює кожну пару ключ-значення зі словника. Під час кожного циклу city містить назву міста зі словника, а population фіксує пов’язане значення чисельності населення.

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Секція 2. Розділ 9
Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
We're sorry to hear that something went wrong. What happened?
some-alt