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

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

Chapter14:リストの中の特定の文字を重複させる:append

こんにちは、しーなです。

なんだかここ数日、体調が悪い感じで、ぐねぐねしております。
季節の変わり目だからかなぁ。。

さてさて、そんなこといいつつ、 本日の1個目の課題は、軽いのでさくさくいくぞ!


Checkio 14:home 重複ゼロ
問題:指定された配列に、0があったら重複させる
x= list(duplicate_zeros([1, 0, 2, 3, 0, 4, 5, 0])) == [1,0,0,2,3,0,0,4,5,0,0,]
x= list(duplicate_zeros([0, 0, 0, 0])) == [0, 0, 0, 0, 0, 0, 0, 0]
x= list(duplicate_zeros([100, 10, 0, 101, 1000])) == [100, 10, 0, 0, 101, 1000]


解き方

  • 1つづつ新しい配列にいれつつ、値が0なら0をプラスする

答え

def duplicate_zeros(array):
  new=[]
  for i in array:
    new.append(i)
    if i==0:
        new.append(0)
  return(new)

今回は悩まず解答できたよ。

それに、他の人のsolutionも、自分と似たような解答か、 yeildを使用したものが多かった。。yeildがまだよくわかってないから、これはまた今度ね!