In Python heb ik de volgende dictionary:
De dictionary key is een tuple (x,o,y). De waarde van de key (tuple) is gelijk aan de kosten van de combinatie x,o en y.
De combinatie (0,0,4) kost bijvoorbeeld 243.33 euro.
Nu wil ik van deze dictionary de minimale kosten van alle combinaties (x,o,*).
Bijvoorbeeld ik wil uit deze dictionary de waarde waarvan de key (tuple) gelijk is aan (0,0,*) dus (0,0,1), (0,0,2) etc.
Momenteel los ik dit als volgt op
Echter, het doorlopen van de complete dictionary van wel 1.000.000 items, is relatief tijdrovend, laat staan als ik dit meer dan 100.000 keer moet doen.
Ik ben echt heel nodig op zoek naar een efficienter alternatief.
Mvg,
Bas
Python:
1
| {(0,0,4):243.33, (0,0,1):272.38, (0,0,2):234.98, ... , (-23,36,72):24.23} |
De dictionary key is een tuple (x,o,y). De waarde van de key (tuple) is gelijk aan de kosten van de combinatie x,o en y.
De combinatie (0,0,4) kost bijvoorbeeld 243.33 euro.
Nu wil ik van deze dictionary de minimale kosten van alle combinaties (x,o,*).
Bijvoorbeeld ik wil uit deze dictionary de waarde waarvan de key (tuple) gelijk is aan (0,0,*) dus (0,0,1), (0,0,2) etc.
Momenteel los ik dit als volgt op
Python:
1
2
3
4
5
6
7
8
9
10
11
12
| def getMin(dict,x,o): vals = dict.values() keys = dict.keys() ary = [] i = 0 for k in keys: if k[0]==x and k[1]==o ary.append(vals[i]) i += 1 return min(ary) |
Echter, het doorlopen van de complete dictionary van wel 1.000.000 items, is relatief tijdrovend, laat staan als ik dit meer dan 100.000 keer moet doen.
Ik ben echt heel nodig op zoek naar een efficienter alternatief.
Mvg,
Bas