2017-02-08 183 views
0

我想得到的是從列表返回某個元素(比如元素3)。但是,如果該元素不在/不再在該列表中,則返回該列表中的最後一個(或第一個或第二個到最後一個)元素。這樣的事情:返回列表中的某個元素否則返回最後

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] 

我明白上述不起作用,但我希望它澄清我的問題,如何正確地得到這個工作。這可能會也可能不會在稍後的Codecademy課程中返回,但這會給我帶來不眠之夜,直到它解決爲止(我確信這可以被許多人認出來)。

編輯:也許有幫助好一點,這裏是我的意見一個從下面:

「比方說,我的列表中包含15+元素,並通過幾種輸入過程中,10種元素已被刪除(可能是5,可能是12.這一切都取決於預先輸入)作爲最終結果,我想打印第6個元素,但是,如果此元素不再可用,那麼只需打印列表中的最後一個元素。

+0

哪有元素*不再是列表的一部分*? my_list'中的my_list [3]應該總是成功的...鑑於列表包含三個元素。 –

+0

'my_list [3]'超出範圍:您的列表包含3個元素。你的意思是'如果3在my_list'中? –

+0

我不會爲此停止睡覺... –

回答

0

終於找到了我一直在尋找:

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(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] 

會打印出3(C = 3)

相關問題