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