Last active
October 19, 2019 15:23
-
-
Save antosha417/5da57fc480addcf71900cec8336e0be6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int number_of_lines = int(input()) | |
summary = {} | |
for _ in range(number_of_lines): | |
customer_name, item, amount = input().split() | |
summary[customer_name] = {item: amount} # так в итоге выведем только последнюю покупку для каждого покупателя | |
#################################################################################################################################### | |
int number_of_lines = int(input()) | |
summary = {} | |
for _ in range(number_of_lines): | |
customer_name, item, amount = input().split() | |
if not customer_name in summary: | |
summary[customer_name] = {} # если покупатель ничего не купил, то у него пустой список покупок | |
summary[customer_name][item] = amount # тут нет суммировани ammountов, например если 2 раза купить хлеб будем только последний раз показывать | |
######################################################################################################################################### | |
int number_of_lines = int(input()) | |
summary = {} | |
for _ in range(number_of_lines): | |
customer_name, item, amount = input().split() | |
if not customer_name in summary: | |
summary[customer_name] = {} | |
if not item in summary[customer_name]: | |
summary[customer_name][item] = 0 # если этот товар еще не покупали то, запоминаем, что купили его ноль раз | |
# иначет тут ↓↓↓↓↓ получили бы ошибку key error, пытаемся прочитать значение по ключу, но там ничего нет | |
summary[customer_name][item] = summary[customer_name][item] + amount | |
# готово, задача решена. но можно ли как-то еще? | |
# мы пользуемся словарем так: если значения нет, положи по этому значению ноль. Для этого и нужен defaultdict | |
######################################################################################################################################## | |
from collections import defaultdict | |
int number_of_lines = int(input()) | |
summary = {} | |
for _ in range(number_of_lines): | |
customer_name, item, amount = input().split() | |
if not customer_name in summary: | |
summary[customer_name] = defaultdict(lambda: 0) | |
summary[customer_name][item] = summary[customer_name][item] + amount | |
# уже получше, меньше года, легче читается, пойдем дальше. и сделаем точно такое же преобразование | |
######################################################################################################################################### | |
from collections import defaultdict | |
int number_of_lines = int(input()) | |
summary = defaultdict(lambda: defaultdict(lambda: 0)) | |
for _ in range(number_of_lines): | |
customer_name, item, amount = input().split() | |
summary[customer_name][item] = summary[customer_name][item] + amount | |
# уже почти | |
######################################################################################################################################### | |
from collections import defaultdict | |
int number_of_lines = int(input()) | |
summary = defaultdict(lambda: defaultdict(lambda: 0)) | |
for _ in range(number_of_lines): | |
customer_name, item, amount = input().split() | |
summary[customer_name][item] += amount | |
# готово, вы великолепны | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment