基本3|リスト型の特徴と使い方

  • URLをコピーしました!

ここで学習すること

複数の値を扱えるリスト型変数について学習します。

リスト型とは、1つの変数に対し、複数の値を入れらる型のことです。

表示の仕方:リスト名 = [要素, 要素, 要素, …. ]

num = [0, 1, 2]

ani = [‘dog’, ‘cat’, ‘猿’]

1つ1つの値(0やdog)を要素といいます。

使い方

異なる型や変数を入れる

n=9

num = [‘dog’, 4, ‘猿’, n]

リストの中にリストを入れる

num = [[1, 2], [3, 4], [5, 6]]

このようなリストを多次元配列、多次元リストと呼びます。

改行表示する

num = [

_ _ _ _[1, 2],

_ _ _ _[3, 4],

_ _ _ _[5, 6]

_ _ _ _]

改行時にはインデント(4マス空ける)が必要です。

リスト内の何番目かを示すindexが自動で振り当てられる

indexは0始まりです。(dogのindex0、catのindexは1)

indexを指定して要素を取り出す

ani = [‘dog’, ‘cat’, ‘猿’]

変数名[index]で値を取り出します

print(ani[1])

=>catが出力される。

範囲を指定して(スライスで)複数の要素を取り出す

num = [1, 2, 3, 4, 5, 6, 7]

print(num[1:4])

=>[2,  3,  4]

[1:4]はindex 1~3を取り出すという指示になります。4の手前まで取り出すの意味です(index4は取り出さない)

要素の修正をする

num = [1, 2, 3, 4, 5, 6, 7]

変数名[修正するindex] = 変更する値で要素を修正します。

num[1] = 0

print(num)

=>[1, 0, 3, 4, 5, 6, 7]

スライスでまとめて修正する

num = [1, 2, 3, 4, 5, 6, 7]

変数名[スライス] = [修正後の値]で値を修正する

num[1:4] = [8, 9, 10]

print(num)

=>[1, 8, 9, 10, 5, 6, 7]

要素を1つ追加する

num = [1, 2, 3, 4, 5, 6, 7]

num.append(8)   * ()であることに注意。

print(num)

=>[1, 2, 3, 4, 5, 6, 7, 8]

要素を複数追加する

num = [1, 2, 3, 4, 5, 6, 7]

変数名.extend(リスト)で要素が追加できます

num.extend([‘a’, ‘b’])

print(num)

=>[1, 2, 3, 4, 5, 6, 7, ‘a’, ‘b’]

または

num = [1, 2, 3, 4, 5, 6, 7]

num2 = [‘a’, ‘b’]

num3 = num + num2

print(num3)

=>[1, 2, 3, 4, 5, 6, 7, ‘a’, ‘b’]

要素を削除する

num = [1, 2, 3, 4, 5, 6, 7]

del 変数名[index]で指示したindexの要素を削除できます

del num[1:3]

print(num)

=>[1, 4, 5, 6, 7]

del num[1]とするとindex1のみ削除されます

del num[1:]とするとindex1以降すべて削除されます

リストをコピーする

num = [1, 2, 3, 4, 5, 6, 7]

num2 = num

print(num2)

=>[1, 2, 3, 4, 5, 6, 7]    numがコピーされます

num2のindex1を修正します。

num2[1] = ‘a’  

print(num2)

=>[1, ‘a’, 3, 4, 5, 6, 7]  index1が修正されます

print(num)

=>[1, ‘a’, 3, 4, 5, 6, 7]  numも修正されます

リストをコピーするとどちらかを修正すると両方修正されます

リストを複製する

num = [1, 2, 3, 4, 5, 6, 7]

新しい変数名 = list(元の変数名)でリストを複製できます

num2 = list(num)

print(num2)

=>[1, 2, 3, 4, 5, 6, 7]    numが複製されます

num2のindex1を修正する

num2[1] = ‘a’     

print(num2)

=>[1, ‘a’, 3, 4, 5, 6, 7]  index1が修正されます

print(num)

=>[1, 2, 3, 4, 5, 6, 7]  numは修正されません

リストを複製すると片方を修正しても他方は修正されません。

よかったらシェアしてね!
  • URLをコピーしました!
目次