2017-09-16 4 views
0

Ich bin neu in der Codierung und muss den Mindestwert aus einer Liste von Tupeln finden.Den Mindestwert aus einer Tupel-Liste finden

def min_steps(step_records): 
    """ random """ 
    if step_records != []: 
     for steps in step_records: 
      day, step = steps 
      result = min(step) 
    else: 
     result = None 
    return result 

Dies führt zu einem Fehler:

'int' object is not iterable

Wie kehre ich die min, wenn die Liste so etwas ist?

step_records = [('2010-01-01',1), 
       ('2010-01-02',2), 
       ('2010-01-03',3)] 
+0

Bitte, bearbeiten Sie Ihre Frage und Format-Code, so wäre es leicht, verstehen. – Styx

Antwort

0

tuples können indiziert werden (siehe: Accessing a value in a tuple that is in a list).

Mit, dass wir eine Liste von diesen Indizes und Call Minimum erstellen können, wie Sie getan hatte:

def min_steps(step_records): 
    """ random """ 
    if step_records: 
     result = min([step[1] for step in step_records]) # min([1,2,3]) 
    else: 
     result = None 
    return result 

step_records = [('2010-01-01',1), 
       ('2010-01-02',2), 
       ('2010-01-03',3)] 

print(min_steps(step_records)) 

Ausgang:

1 
Verwandte Themen