2017-03-07 15 views
-1

関数はリストを与えられ、第一、リストの最後の桁が同じである場合はtrueを返さなければなりません。コーディングバット(パイソン>一覧-1> same_first_last

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

関数が戻ると、「インデックス値のうち、この機能でよいNUMS、 『ポストを範囲外のインデックス値:レンジ」。

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

return False 

が、私はエラーを考える助けてください

+3

リストは空ですか? –

+0

Willemのようにリストが空でない限りnums [-1]はそれを行うべきです。 – YOBA

+2

@YOBA:しかし、それは 'nums [len(nums)-1]'と等価です... –

答えて

0

あなたが変更することができます』空リストがあるかもしれません

+0

'True/False'を返すのになぜ' if'を使いますか? –

+2

'return nums [0] == nums [-1]'は同等です –

+0

はい、nus [0] == nums [-1]を返します – 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