Mam listę słowników. Każdy słownik ma liczbę całkowitą i wartość krotki. Chciałbym podsumować wszystkie elementy znajdujące się w określonej pozycji krotki.Python Lista słowników [int: tuple] Suma
Przykład:
myList = [{1000:("a",10)},{1001:("b",20)},{1003:("c",30)},{1000:("d",40)}]
Wiem, że może zrobić coś takiego:
sum = 0
for i in myList:
for i in myList:
temp = i.keys()
sum += i[temp[0]][1]
print sum
Czy istnieje bardziej pythonic sposób to zrobić? Dzięki
Ogólna zasada: jeśli bezpośrednio za pomocą pętli for jest bardziej pythonic sposób robienia rzeczy. –
@SlaterTyranus: Nie powiedziałbym tego, istnieje wiele pytonicznych zastosowań pętli 'for'. –
@MartijnPieters Jestem pewien, że istnieją, ale mam wrażenie, że ponad 90% wszystkich pętli wieloliniowych to wskaźniki kodu, które muszą zostać refaktoryzowane. Aby wyjaśnić: bezpośrednio używając pętli for, rozumiem, że nie używam składni in-line. –