🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
PythonLib
Питон для всех
N – количество покупок, зарегистрированных за день.N раз вводятся данные о каждой покупке. Каждая покупка вводится в следующем формате:M – количество различных товаров в этой покупке.M раз вводится название товара (строка) и через пробел количество купленных единиц этого товара (целое число)"Название_товара Количество". Товары должны быть отсортированы в лексикографическом порядке по названию товара2
3
Яблоко 2
Молоко 1
Хлеб 1
2
Яблоко 1
Сыр 1
Молоко 1
Сыр 1
Хлеб 1
Яблоко 3
Словари в Python — это мощная и незаменимая структура данных, которая позволяет хранить информацию в виде пар "ключ-значение". Представьте себе настоящий словарь или телефонную книгу: зная уникальное слово (ключ), вы мгновенно находите его определение (значение). Словари упрощают организацию и, что самое главное, обеспечивают очень быстрый доступ к данным на основе уникальных ключей.
Полезный совет: В качестве ключей можно использовать только неизменяемые (immutable) типы данных, такие как строки, числа или кортежи. Списки или другие словари не могут быть ключами, так как их можно изменить. А вот в качестве значений можно использовать абсолютно любые типы данных: числа, строки, списки и даже другие словари.
Словари можно создавать несколькими способами:
1. Пустой словарь
my_dict = {}
# или с помощью встроенной функции
my_dict = dict()
2. Словарь с элементами (литеральный способ) Это самый распространённый и читаемый способ.
user_profile = {
"username": "alex",
"level": 15,
"items": ["меч", "щит", "зелье"]
}
3. Использование функции dict с именованными аргументами Этот способ удобен для простых словарей, где ключи являются строками.
my_dict = dict(ключ1="значение1", ключ2="значение2")
4. Создание из списка кортежей (пар) Этот метод полезен, когда данные поступают в виде списка пар.
pairs = [('a', 1), ('b', 2), ('c', 3)]
my_dict = dict(pairs)
# Результат: {'a': 1, 'b': 2, 'c': 3}
Доступ к значениям словаря осуществляется через их ключи в квадратных скобках.
my_dict = {"ключ1": "значение1", "ключ2": "значение2"}
print(my_dict["ключ1"]) # Вывод: значение1
Важный момент: Если вы попытаетесь получить доступ к ключу, которого не существует, Python вызовет ошибку KeyError. Чтобы избежать этого, используйте метод .get().
Безопасный доступ с помощью метода .get() Метод .get() вернёт None, если ключ не найден, и не вызовет ошибку. Вы также можете передать второй аргумент — значение по умолчанию, которое вернётся вместо None.
print(my_dict.get("ключ3")) # Вывод: None
print(my_dict.get("ключ3", "не найдено")) # Вывод: не найдено
Добавлять или изменять элементы очень просто:
my_dict = {"ключ1": "старое значение"}
# Изменение существующего элемента
my_dict["ключ1"] = "новое значение"
print(my_dict["ключ1"]) # Вывод: новое значение
# Добавление нового элемента
my_dict["ключ3"] = "значение3"
print(my_dict) # Вывод: {'ключ1': 'новое значение', 'ключ3': 'значение3'}
Для объединения словарей можно использовать метод .update():
dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}
dict1.update(dict2) # Ключ 'b' будет перезаписан, 'c' будет добавлен
print(dict1) # Вывод: {'a': 1, 'b': 3, 'c': 4}
Элементы в словарях можно удалять несколькими способами:
del Удаляет пару по ключу. Вызывает ошибку KeyError, если ключ не найден.
del my_dict["ключ1"]
.pop() Удаляет элемент по ключу и возвращает его значение. Это полезно, если вам нужно использовать удаленное значение. Если ключ не найден, вызовет KeyError, но можно передать значение по умолчанию.
my_dict = {'ключ2': 'значение2', 'ключ3': 'значение3'}
value = my_dict.pop("ключ2")
print(value) # Вывод: значение2
print(my_dict) # Вывод: {'ключ3': 'значение3'}
.clear() очищает словарь, делая его пустым.
my_dict.clear()
print(my_dict) # Вывод: {}
1. Перебор ключей Это поведение по умолчанию при итерации по словарю.
for key in my_dict:
print(key)
2. Перебор значений Используйте метод .values(), если вам нужны только значения.
for value in my_dict.values():
print(value)
3. Перебор пар "ключ-значение" Это наиболее эффективный и читаемый способ, если вам нужны и ключи, и значения одновременно. Используйте метод .items().
for key, value in my_dict.items():
print(f"Ключ: {key}, Значение: {value}")
🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
AD
Реклама
Запускаем ваш код...