今回は「配列型」で出来る色々な操作方法について5つ紹介するね!
1つ目は、配列に新しい要素を追加する場合に指定した場所に割り込んで追加する時は「.insert()」を使うよ
「.append()」は配列の最後にしか追加できなかったもんね
そうだね
そのままついでに「配列の最後」を指定する方法も説明しておくね
...といっても指定方法は簡単で、「後ろから何番目か」って意味で「lst[-1]」とすれば良いだけなんだけどね
そこは「-0」じゃないんだね
「-0」は「0」って扱われるからね
2つ目は「配列型同士の結合方法」について
これはそのまま「足し算」をするか「.extend()」で出来るよ
足し算で結合できるのは文字列型と同じだね!
3つ目は「配列の要素の削除」について
前回はサラッと流したけど、削除する要素の指定方法が2パターンあるんだ
削除したいインデックス番号を指定するか、削除したい要素を指定するかの違いだね
これはちゃんと使い分けたい!
ただし「.remove()」については、指定した内容に一致する要素が複数ある場合はインデックス番号が小さい方の要素だけが削除されるってことに注意してね
4つ目は「並び替え」について
これも「.sort()」と「sorted()」の2種類あるんだけど、ちょっと仕様が違うんだよね
「.sort()」は配列の中身自体が並び替えられてて、「sorted()」は配列を並び替えた結果を出してくれるだけで、その配列の中身自体は並び替えてないってことなのかな
そういうことだね
元の配列の中身は変えたくないけど、並び替えた情報を使いたいって時に「sorted()」を使うと良いよ!
なるほど!...ってことは基本的に「sorted()」を覚えていたらまずは大丈夫そうだね
最後に配列型の変数を使う時に気をつけてほしいことを紹介するね
気をつけてほしいこと??
葵は変数をコピーしたいと思った時はどうしたら良いと思う?
変数のコピー?それなら「a = b」って感じにしたら良いんじゃないの??
数値型と文字列型の場合はそうだね!だけど、変数が配列型の時に同じことをすると、ちょっとおかしいことになるんだよね
あれ?コピー元の配列の要素を書き換えたらコピーした方の配列も書き変わってる...??
そうなんだよね
細かく説明すると難しい話になっちゃうんだけど、配列型の変数で「=」を使った場合はコピーしているんじゃなくて、「配列の要素を保管している場所の情報」をコピーしているんだ
じゃあ、もし配列をコピーする場合はどうしたら良いの?
配列をコピーしたい時は「.copy()」ってすれば大丈夫だよ!
ほうほう
これはちゃんと覚えといた方が良さそうだね!!
