2017-03-07 98 views
-1

的功能被賦予一個列表,如果該列表的第一個和最後一個數字是相同的必須返回true。編碼蝙蝠(Python的>列表-1> same_first_last

def same_first_last(nums): 
    if nums[0] == nums[len(nums) - 1]: 
     return True 
    else: 
     return False 

該函數返回「索引值出範圍」。請幫助

+3

列表是否爲空?除非列表像Willem所說的那樣是空的,否則 –

+0

nums [-1]應該這樣做。 – YOBA

+2

@YOBA:但它相當於'nums [len(nums)-1]'... –

回答

0

你可以修改:

if nums[0] == nums[-1]: 
     return True 

return False 

,但我認爲錯誤‘索引值超出範圍’,可以將NUMS後在這個函數可能會列出空列表

+0

爲什麼你用'if'來返回'True/False'? –

+2

'return nums [0] == nums [-1]'相當於 –

+0

yes,return nus [0] == nums [-1] just ok – hankym

1

問題是如何處理空列表的情況。這取決於你如何看待它:如果你看到一個沒有數字的數字的空列表,你可以爭辯說第一個和最後一個數字是相同的。在這種情況下,你可以這樣寫:

def same_first_last(nums): 
    return not nums or nums[0] == nums[-1]

如果考慮空單具有相同的第一個和最後一個數字,你可以使用:

def same_first_last(nums): 
    return bool(nums) and nums[0] == nums[-1]
0

首先,檢查列表是否爲空或不空。假設列表不是空的。該方法如下所示。

def same_first_last(nums) 
     return True if a[0]==a[-1] else False 

nums [-1]是從列表中獲取最後一個元素的快捷方式。 nums [-n]語法獲取倒數第n個元素。例如:

nums = [1,2,3,1,3] 
nums[-2] #returns 1 
nums[-3] #returns 3