1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Python】appendでNoneが返ってくる

Posted at

appendの使い方について躓きがあったので共有します。

環境

Python 3.7.13
Google Colaboratory

経緯

for文で計算した値をリストに代入しpandasでデータフレームに変換して値の推移のグラフを描きたかった。その時に計算結果をappendで代入してNoneが返ってきてしまい困り果てる。

appendを関数の引数や式に代入するとNoneが返ってくる

appendで値を代入してリストを作成するとNoneになります。

a = [1]
b = [1, 2]

#appendを式に代入。c = [[1], [1, 2]]となることを期待。pythonならいけると思った
c = a.append(b)
#この時cはNoneになるみたい。Colaboratoryでcを表示させても何も出てこない

print(c)

#printの出力としてNoneが返ってくる

また、関数の引数にappendを使ってもNoneが返ってくる。

print(a.append(b))

#None

対策

あらかじめ空のリストを作成し、それにappendで代入する。

a = [1]
b = [1, 2]

#あらかじめ空のリストを作成
c = []

#空のリストに代入。appendは一つずつしか代入できないことに注意
c.append(a)
c.append(b)

print(c)

#[[1], [1, 2]]

Noneではなくエラーになってくれた方が分かりやすくて助かるのですが、そういう仕様みたいなのでどうしようもないですね。横着せずに正確にコードを書きたいものです。

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?