Python. Создать словарь нужно вида
есть переменные ticket, Eng_name, STATUS, summa которые парсятся и присваиваются в цикле. на выходе имеем такой вид:
ticket: 59406 Eng_name: Иванов STATUS: Рассчитан summa : 600
ticket: 59269 Eng_name: Петров STATUS: Рассчитан summa : 5600
ticket: 54730 Eng_name: Петров STATUS: Рассчитан summa : 27750
ticket: 59241 Eng_name: Карпов STATUS: Рассчитан summa : 1050
требуется создать словарь с ключами по всем фамилиям. (если фамилия встречается 2 и более раз, то добавить в словарь все значения переменных ticket, Eng_name, STATUS, summa и вычислить сумму значений summa )
Ответы (1 шт):
Автор решения: Zhihar
→ Ссылка
Что-то на подобии:
data = [
"ticket: 59406 Eng_name: Иванов STATUS: Рассчитан summa : 600",
"ticket: 59269 Eng_name: Петров STATUS: Рассчитан summa : 5600",
"ticket: 54730 Eng_name: Петров STATUS: Рассчитан summa : 27750",
"ticket: 59241 Eng_name: Карпов STATUS: Рассчитан summa : 1050",
]
res = dict()
for line in data:
parts = line.split()
ticket_id, name, status, summ = parts[1], parts[3], parts[5], int(parts[8])
if name in res:
res[name]["data"].append((ticket_id, status, summ))
res[name]["sum"] += summ
else:
res[name] = {
"data": [(ticket_id, status, summ)],
"sum": summ
}
print(res)