Commit 50c4774b by Patryk Czarnik

grupowanie - dodatkowe wersje

parent 6ebd55b3
......@@ -14,8 +14,7 @@ for emp in emps:
print(slownik)
print()
for job, lista in slownik.items():
ilosc = lista[0]
suma = lista[1]
# dwupoziomowe rozpakowanie - dane lądują od razu w zmiennych
for job, (ilosc, suma) in slownik.items():
srednia = suma / ilosc
print(f'| {job:32} | {ilosc:2} | {srednia:8.2f} |')
from collections import defaultdict
from employees import read_csv
emps = read_csv('emps.csv')
ilosci = defaultdict(int)
sumy = defaultdict(float)
for emp in emps:
sumy[emp.job_title] += emp.salary
ilosci[emp.job_title] += 1
for job in sumy.keys():
suma = sumy[job]
ilosc = ilosci[job]
srednia = suma / ilosc
print(f'| {job:32} | {ilosc:2} | {srednia:8.2f} |')
from collections import defaultdict
from employees import read_csv
emps = read_csv('emps.csv')
# Jako parametr defaultdict wpisuje się "przepis na nowy element".
# Gdy podajemy przykłądowo int, to używane jest to w taki sposób, że jest wywoływane int() , a to daje wynik 0.
# Tutaj podamy funkcję, która nie pobiera argumentów, a wyniku zwraca nową listę zaweirającą dwa zera.
slownik = defaultdict(lambda: [0, 0])
for emp in emps:
slownik[emp.job_title][0] += 1
slownik[emp.job_title][1] += emp.salary
print(slownik)
print()
for job, (ilosc, suma) in slownik.items():
srednia = suma / ilosc
print(f'| {job:32} | {ilosc:2} | {srednia:8.2f} |')
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment