2017-02-08 2 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 일 수 있습니다. 그것은 모두 입력에 따라 달라집니다.) 마지막 결과로 여섯 번째 요소를 인쇄하고 싶습니다. 그러나이 요소를 더 이상 사용할 수 없으면 목록의 마지막 요소 만 인쇄하십시오. "

+0

어떻게 수있는 요소는 더 이상 목록의 일부가 될 수 없습니다 *. 'my_list [3] in my_list'는 항상 성공해야합니다 ... 목록에는 세 가지 요소가 있습니다. –

+0

'my_list [3]'이 (가) 범위를 벗어났습니다 : 목록에 3 개의 요소가 있습니다. 'my_list에 3면? '이라는 뜻 이었습니까? –

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

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 출력 할 것인가 (5 = E) 5 출력 할 것인가 (C = 3)

관련 문제