2017-12-22 12 views

Antwort

6

Verwenden min das Tupel mit der kleinsten Differenz zu finden:

>>> Data = (('Batik Air',int(561)),('Citilink',int(620)),('Garuda Indonesia',int(1501))) 
>>> Value = 500 
>>> min(Data, key=lambda t: abs(t[1]-Value)) 
('Batik Air', 561) 

Zusätzliche Stil Tipps: es mehr idiomatische ist * Kleinbuchstaben für Variablennamen zu verwenden, und Sie müssen nicht int anrufen weil diese Werte bereits alle ints sind.

>>> data = (('Batik Air',561),('Citilink',620),('Garuda Indonesia',1501)) 
>>> value = 500 
>>> min(data, key=lambda t: abs(t[1]-value)) 
('Batik Air', 561) 

(* mit einigen Ausnahmen, siehe https://www.python.org/dev/peps/pep-0008/#naming-conventions)

+0

das ist, was ich für Dank war auf der Suche! –

Verwandte Themen