Введення даних словника з клавіатури
Підкажіть, будь ласка, як задати словник із клавіатури (через input)? Наприклад, у моєму словнику мають зберігатися дати та події. Чи можу я використати цей код? Тобто я вводжу рік та відповідну подію в історії.
2 відповіді 2
data = dict() while True: key = input('введіть ключ: ') value = input('введіть значення: ') data[key] = value
тільки якийсь механізм виходу з циклу прикрутити варто
Підкажіть, як зупинити цей цикл? Тобто я ввів достатню кількість ключів та значень та хочу отримати заповнений словник.
@StopTalking, наприклад, можете перевіряти що в якості ключа ввели stop і робити if key == 'stop': break - логіку вже вам вибирати те, універсальних засобів немає
Дякую я зрозумів і трохи змінив. Я написав код, але не виходить вибрати ті дати, які входять у проміжок 19 століття, можете подивитися, як краще змінити? data = dict() while True: key = (input('введіть дату: ')) value = input('введіть подію: ') data[key] = value if input('Продовжувати? /Ні') == 'Ні ' : # при натисканні "enter" заповнення словника # продовжиться, при введенні "Ні" цикл перерветься break if 1799 - ')
Словники в Python
Python надає кілька вбудованих типів колекцій для зберігання та маніпуляції даними. Деякі з найчастіше використовуваних типів колекцій в Python:
- Списки (Lists)
- Кортежі (Tuples)
- Безліч (Sets)
- Словники (Dictionaries)
- Масиви (Arrays)
- Декі (Deques)
Також у Python є інші менш поширені типи колекцій, такі як іменовані кортежі (namedtuples), словники зі значеннями за замовчуванням (default dictionaries) та купи (heaps), які є спеціалізованими версіями основних типів колекцій, перерахованих вище.
Визначення Словника
Словник у Python - це колекція пар ключ-значення, де кожному ключу відповідає значення. Це невпорядкована структура даних, і кожен ключ у словнику має бути унікальним.
Ось приклад словника на Python:
# Define a dictionary with key-value pairs student = < "name": "Alice", "id": 12345, "courses": ["Math", "Physics", "Chemistry"], "grades": >
Як створити словник в Python
Давайте подивимося, як створити або ініціалізувати словник у Python. Ви можете зробити це за допомогою фігурних дужок <> або за допомогою функції dict() . Ось деякі приклади:
# Create empty dictionary empty_dict = <> # Create dictionary with key-value pairs my_dict = # Create dictionary with mixed data types mixed_dict =
# Create empty dictionary empty_dict = dict() # Create a dictionary with key-value pairs my_dict = dict(name='John', age=30, city='New York') # Create a dictionary with mixed data types mixed_dict = dict(name='John', age=30, scores = [85, 90, 95])
В обох випадках словник створюється з набором пар ключ-значення. Ключі повинні бути унікальними та незмінними типами даних (такими як рядки, числа або кортежі), тоді як значення можуть бути будь-якими типами даних, включаючи списки, словники та інші об'єкти.
Вилучення Словника
У Python можна видалити словник, використовуючи ключове слово del , за яким слідує ім'я змінної словника. Ось приклад:
my_dict = del my_dict
У наведеному вище прикладі ми створили словник my_dict із двома парами ключ-значення. Ключове слово del використовується для видалення словника, вказуючи ім'я змінної my_dict .
Після виконання інструкції del , словник my_dict буде повністю вилучений з пам'яті, і будь-які спроби доступу до нього призведуть до помилки NameError , оскільки змінна не існує.
Доступ до Словника в Python
Ви можете отримати значення зі словника за допомогою його ключів. Ось приклад:
# Creating a dictionary my_dict = # Accessing a value using key print(my_dict['apple']) # Output: 3 print(my_dict['banana']) # Output: 5
Ви також можете отримати значення, пов'язане з ключем у словнику за допомогою методу get() . Ось приклад:
# create a dictionary my_dict = # get the value associated with the 'apple' key apple_value = my_dict.get('apple') # print the value print(apple_value) # Output: 1
Якщо ключ не знайдено у словнику, метод get() за промовчанням повертає None.
Словник Словників
Ви можете вкласти словник у словник просто використовуючи словник як значення в іншому словнику. Ось приклад:
# create a dictionary of dictionaries my_dict = < 'person1': , 'person2': > # accessing values in the dictionary of dictionaries print(my_dict['person1']['name']) # output: 'John' print(my_dict ['person2']['age']) # output: 32
Для доступу до значень у вкладених словниках ми використовуємо два набори квадратних дужок. Перший набір дужок використовується для доступу до зовнішнього словника, а другий набір дужок використовується для доступу до словника.
Ви також можете додавати нові словники у вкладений словник таким чином:
# adding new person to dictionary of dictionaries my_dict['person3'] = # accessing the new person's information print(my_dict['person3']['name']) # output: 'Alex'
Аналогічно, ви можете оновлювати значення у вкладених словниках:
# create a dictionary of dictionaries my_dict = < 'person1': , 'person2': > # updating aperson's age in the dictionary of dictionaries my_dict['person1']['age'] = 30 # accessing the updated age print(my_dict ['person1']['age']) # output: 30
В цілому, комбінування словників у Python є простим і потужним способом зберігання та доступу до ієрархічних структур даних.
Словник Об'єктів у Python
Ця тема дуже схожа на вкладені словники - ви можете створити словник об'єктів, використовуючи екземпляри об'єктів як значення та унікальні ключі для доступу до об'єктів. Ось приклад:
class Person: def __init__(self, name, age): self.name = name self.age = age # create objects person1 = Person("Alice", 25) person2 = Person("Bob", 30) person3 = Person( "Charlie", 35) # create dictionary of objects people = < "person1": person1, "person2": person2, "person3": person3 ># access objects using keys print(people["person1"].name) # outputs "Alice" print(people["person2"].age) # outputs 30
Заміна Місцями Ключів та Значень у Словнику
Давайте розглянемо приклад того, як звернути ключі та значення у словнику в Python. Для цієї мети ви можете використовувати генератор словника та поміняти місцями ключі та значення в кожній парі
my_dict = reversed_dict = print(reversed_dict) # Output:
У наведеному вище коді ми спочатку визначаємо словник my_dict з деякими парами ключ-значення. Потім ми створюємо новий словник reversed_dict , використовуючи словник генератор. У генераторі ми итерируем по словнику my_dict , використовуючи метод items() , який повертає список пар (ключ, значення). Для кожної пари ключ-значення ми змінюємо місцями ключ і значення і додаємо нову пару (значення, ключ) у reversed_dict.