63’s blog

都内のSEのブログです(*‘ω‘ *)技術は好きですが仕事は嫌いです。

PythonのListの活用法・注意点

久々にブログを書きます。正直、就活終わって時間なんてたくさんあるだろって思ってました←
意外と大学4年って忙しい…
研究ならまだしもゼミが一番きつくなっているのが意味がわからない…
そしてゼミの内容もわからない…笑

とりあえずやってみて、自分でもちょいちょい擬似コードを実際に動かしてみたりと時々プログラミングができるのが最近は嬉しいですヽ(´▽`)/
そんな時に機械学習の分野なのでPythonを使っているのですが、

リストを使いこなすのがむずかしい!!

正確に言うとリストを使う方法がありすぎて頭の中で全然整理できていません笑
なので、今回はPythonのリストを使う方法をまとめていきたいと思います!



○リストの共通の宣言パターン

list=[]

このように宣言することで空のリストができます。

○リストの宣言パターン①

list=n*[0] #一次元
list=n*[m*[0]]  #二次元

ここで注意点です!
この宣言の仕方だと参照型のリストの宣言方法なので、数値を代入しようとすると他の配列まで同じように操作されます。
ex.list=2*[3*[0]]
list=[[0,0,0],[0,0,0]]

list[0][1]=1
list=[[0,1,0],[0,1,0]]

○リストの宣言パターン②

list=[[0 for i in range(m)] for j in range(n)]  #二次元

こうすることによってさっきの注意点が解消されます!
ex. list=[[0 for i in range(2)] for j in range(3)]
list=[[0,0],[0,0],[0,0]]

list[0][1]=3
list=[0,3],[0,0],[0,0]]

この宣言パターンなら0を2回appendしたリストを3回appendしたことと同義なので参照型にならず、別々に扱える。

とりあえず、今回はここまで!
numpyを使ったリストもまとめたらアップしようと思います!