2017-02-08 4 views
0

Was ich möchte, ist ein bestimmtes Element aus einer Liste (z. B. Element 3) zurückzugeben. Wenn sich dieses Element jedoch nicht mehr in dieser Liste befindet, geben Sie das letzte (oder das erste oder vorletzte) Element aus dieser Liste zurück. Etwas wie folgt aus:Rückgabe eines bestimmten Elements aus der Liste else return last

a = 1 
b = 2 
c = 3 
my_list = [a, b, c] 
if my_list[3] in my_list: 
    print my_list[3] 
else: 
    print my_list[-1] 

Ich verstehe die oben nicht funktioniert, aber ich hoffe, es stellt klar, meine Frage auf, wie man richtig bekommen dies funktioniert. Dies kann oder kann nicht in einer späteren Codecademy Lektion zurückkehren, aber das wird mir schlaflose Nächte geben, bis es gelöst wird (ich bin mir sicher, dass dies bei vielen von euch erkennbar ist).

EDIT: Um vielleicht zu klären etwas besser, hier ist eine meiner Kommentare von unten:

„meiner Liste sagen Lassen Sie enthält mehr als 15 Elemente und durch den Verlauf der mehrere Eingänge haben 10 Elemente entfernt worden ist (sein könnte 5, könnte 12 sein. Alles hängt von der Eingabe im voraus ab. Als Endergebnis möchte ich das 6. Element drucken. Aber wenn dieses Element nicht mehr verfügbar ist, dann drucke einfach das letzte Element in der Liste. "

+0

Wie kann die Element be * nicht mehr Teil der Liste *? 'my_list [3] in my_list' sollte immer erfolgreich sein ... Gegeben die Liste enthält drei Elemente. –

+0

'my_list [3]' liegt außerhalb des zulässigen Bereichs: Ihre Liste besteht aus 3 Elementen. Meintest du "if 3 in my_list"? –

+0

Ich würde nicht aufhören zu schlafen für das ... –

Antwort

0

Schließlich fand, was ich suchte:

a = 1 
b = 2 
c = 3 
d = 4 
e = 5 

my_list = [a, b, c, d, e] 

del my_list[3] 
if len(my_list) >= 4: #this is what I was looking for 
    print my_list[3] 
else: 
    print my_list[-1] 

5 heraus gedruckt wird (e = 5)

a = 1 
b = 2 
c = 3 
d = 4 
e = 5 

my_list = [a, b, c, d, e] 

del my_list[4] 
del my_list[3] 
if len(my_list) >= 4: #this is what I was looking for 
    print my_list[3] 
else: 
    print my_list[-1] 

Wird aus 3 drucken (c = 3)

Verwandte Themen