Aktywne Wpisy
MrSilesia +48
Właśnie wróciłem z pierwszej wizyty córki lvl3 u dentysty. 5 zębów mlecznych do leczenia z próchnicy. Zapłaciłem 200 zł, żeby się dowiedzieć, że muszę wydać jeszcze 2,5k. Na serio to tyle kosztuje czy ja akurat wybrałem drogiego dentystę? (taki dobrze oceniany, dla dzieci). Ktoś ma doświadczenia w tym temacie? #wykop30plus #wykop40plus #dentysta #dzieci
Thror +1077
Zgodnie z obietnicą (link) przesyłam wyniki badań mojej próbki kreatyny firmy SFD (lepiej późno niż wcale).
Poziom rtęci został przekroczony czterokrotnie. Na wszelki wypadek poinformowałem sanepid w Opolu o przekroczeniu norm. Sanepid potwierdził, że moja partia została wycofana ze sprzedaży. Strona SFD także to potwierdza, po wpisaniu numeru partii 081.222
https://sklep.sfd.pl/produkt/SzukajPartii.aspx
#sfd #kreatyna
Poziom rtęci został przekroczony czterokrotnie. Na wszelki wypadek poinformowałem sanepid w Opolu o przekroczeniu norm. Sanepid potwierdził, że moja partia została wycofana ze sprzedaży. Strona SFD także to potwierdza, po wpisaniu numeru partii 081.222
https://sklep.sfd.pl/produkt/SzukajPartii.aspx
#sfd #kreatyna
mam listę np [('a', 10), ('a', 10), ('a', 10), ('b', 12), ('b', 12), ('c', 15)]
a potrzebuję mieć [('a',30), ('b','24'), ('c', 15)] czyli po prostu suma
już lecę 10 godzin i trochę mózg zrobił się papka a potrzebne mi żebym dziś to skończył a nie mogę wpaść na elegancki sposób
:(( pomocy
#python #programowanie
Komentarz usunięty przez autora
Komentarz usunięty przez autora
1. Stwórz posortowany kontener mapę/drzewo która może przyjąć parę klucz wartość.
2. w pętli przejeżdasz po swojej liście z tymi wszystkimi itemami.
Sprawdzasz warunek. Jeżeli w Twoim koneterze istnieje już taki klucz, do jego wartości dodaj wartość z listy po której iterujesz, w przeciwnym wypadku dodaj nowy wpis.
Bardzo wam dziękuję ( ͡° ͜ʖ ͡°)ノ⌐■-■
( ͡° ͜ʖ ͡°)
Komentarz usunięty przez autora
from functools import reduce
items = [('a', 10), ('a', 10), ('a', 10), ('b', 12), ('b', 12), ('c', 15)]
sums = reduce(lambda acc, x: {**acc, **{x[0]: acc.get(x[0], 0) + x[1]}}, items, {})
Komentarz usunięty przez autora
https://paste.ofcode.org/KdQWDQ7uvzcUWeLmVkezyd
Najbardziej oczywiste rozwiązanie (pętla z ifem) jest co najmniej 2x szybsze, bo nie
wymaga wywołań funkcji.
dict.get(k, 0)
jest droższe niż wykonanie0 if k in dict else dict[k]
Ostatecznie te parametry gdzieś muszą trafić, musi być skok do funkcji, zebranie tych parametrów, ich przetworzenie, zwrot do miejsca sprzed wywołania. Dlatego po prostu po studencku "not in" jest tutaj dużo wydajniejszy.
W Twoim kodzie zrobiłem małą optymalizację - przypisałem lambdę do zmiennej, i przy dużej ilości wywołań (10mln) wychodzi ~1sek różnicy. I tego