2013-04-08 14 views
7

整数のリスト(x)を受け入れ、リストの最初の値と最後の値を追加してから、その合計で整数を返します。私はそれを行うために次のコードを使用しましたが、私が持っている問題は、合計を評価しようとすると、実際には整数の代わりに1項目のリストになります。私はそれをintにキャストしようとしましたが、動作させることができません。1項目リストを整数に変換する

def addFirstAndLast(x): 
    lengthOfList = len(x) 
    firstDigit = x[0:1] 
    lastDigit = x[lengthOfList:lengthOfList-1] 
    sum = firstDigit + lastDigit 
    return sum 
+0

'x'に1つの数字が含まれているとどうなるでしょうか? 'x [0]'や '2 * x [0]'を返すべきでしょうか? –

答えて

13

使用インデックス

あなたがリストを返すリストは、スライスしています。ここでは、あなたの代わりにインデックスを使用する必要があります。

firstDigit = x[0] 
lastDigit = x[-1] 

はなぜあなたのために間違ったスライスされています。あなたがx[0:1]行うと、あなたは、リストの先頭から項目のリストを取っている

最初の間隔まで。

x[0:2]を行う
item0, item1, item2, item3 
^ interval 0 
     ^interval 1 
      ^interval 2 
        ^interval 3  

は、例えば、項目0と1

4

を返すことはすべてこれに沸く:Pythonで

def addFirstAndLast(x): 
    return x[0] + x[-1] 

を、負のリストインデックスを意味しますから、インデックス作成を開始しますリストの右から左への最初の位置は-1であり、第2の位置は-2であり、最後の位置は-len(lst)である。

4

使用Slice Notation

def addFirstAndLast(x): 
    return x[0] + x[-1] 

xは、[0] =あなたのリストの0 番目のインデックス、最初の値を与えます。

のx [-1] =あなたのリストの最後要素を提供します。

関連する問題