しーなのたらたらプログラミング学習日記

よれたOLの、びみょーなプログラム学習日記です

Chapter09:数字リストの扱い:スライス

どうもどうもこんばんは、しーなです!
タグの使い方がよくわからなかったので、タイトルで区別ができるように?
ちょっとタイトルを変えてみたよ。
(余計わかりにくくなったような気がするけど、試行錯誤中ですww)


Checkio 09 :start Replace First
問題: list の最初の要素を最後尾に移動させたものを返してください。
空の list または、要素数が1つしかない list が与えられた場合は、与えられた list をそのまま返す必要がある。
replace_first([1, 2, 3, 4]) == [2, 3, 4, 1]
replace_first([1]) == [1]
replace_first([]) == [ ]   


解き方

  • スライスで2番目から最後までとって最後に一番めの要素を追加すればいい?
  • 空配列と長さが1の場合はそのままであることを考慮

答え

def  replace_first(array):
     if len(array)<=1:
      return(array)
     else:
      return (array[1:]+array[:1])

前回書いたスライスの場所 sheena07.hatenablog.com

を確認して、記載。

今回のお題は復習問題みたいで、難しくなかったよ。

しかし、空と1だけのときはそのままarrayを返さないとエラーになるのかと思っていたが、ほかの人の答えをみると、その辺はしょってるー。

 def  replace_first(array):
      return (array[1:]+array[:1])

記載不要で,これだけでよいらしい。
配列要素のないものを指定しているように見えるのに、エラーがないのはなんでだろう。

後、最初新しい配列を作っていれていたが、足し算記載でいけるのね。
短いコードに憧れ中です!w