リストの基本操作【Python/list】

mycompilerでコード編集からコンパイル、実行まで行えます。

pythonでリストを扱う方法について学習しましょう。

リストには『[1,2,3,…]』のようにデータを記述する形式と『{“type”:”dog”,”name”:”cookie”,…}』のようにデータに名前を付けられる辞書型の2つがあります。

ここでは前者の基本的なリストを紹介します。

リストの基本操作

リストの要素を出力する

リストに記述した要素を出力するには『print』コードを使用して『print(リスト名[要素番号])』と記述します。

#リストの要素を出力

list=[1,2,3]
print(list[1])
#実行結果

2

ここで、Pythonのデータ管理は0から始まり、1番目のデータを呼び出すためには『リスト名[0]』、2倍目のデータを呼び出すためには『リスト名[1]』となることを覚えておきましょう。

m番目からn番目の要素を取得

次にリストの前後から要素を取得する方法です。

データのn番目までを呼び出すためには『:n』、n番目より後ろの値を呼び出すためには『n:』を使います。

#n番目まで、n番目以降の要素を取得

list=[1,2,3,4,5]
print("2番目までの値を取得")
ex=list[:2]
print(ex)
print("2番目より後ろの値を取得")
ex=list[2:]
print(ex)
print("2番目から4番目の値を取得")
ex=list[1:4]
print(ex)
#実行結果

2番目までの値を取得
[1, 2]
2番目より後ろの値を取得
[3, 4, 5]
2番目から4番目の値を取得
[2, 3, 4]

ここで『:2』が2を含むのに対し『2:』では2を含まない点に注意しましょう。

『list=[1,2,3,4,5]』の『,』に番号を振り2番目(2と3の間)より前か後ろかイメージすると分かりやすいでしょう。

前後からn個の要素を取得

次に少しややこしいマイナス表現を用いた要素の取得です。

上と同じように『:-n』『-n:』を用いますが、『,』の数を右から数えるイメージを持つと分かりやすいでしょう。

#前後からn個の要素を取得

list=[1,2,3,4,5]
print("前から3個の値を取得")
ex=list[:-2]
print(ex)
print("後ろから3個の値を取得")
ex=list[-3:]
print(ex)
#実行結果

前から3個の値を取得
[1, 2, 3]
後ろから3個の値を取得
[3, 4, 5]

n個ごとに要素を取得

『::n』という表現を用いると要素をn個ごとに取得できます。

例えばリスト内のデータを2ごとに取得する時には以下のように記述します。

#n個ごとに要素を取得

list=[1,2,3,4,5]
ex=list[::2]
print(ex)
#実行結果

[1, 3, 5]

リストに要素を追加する

リストの最後に新しい要素を追加するには『append(追加したい要素)』と記述します。

#リストに要素を追加

list=[1,2,3]
list.append(4)
print(list)
#実行結果

[1, 2, 3, 4]

リストから要素を取り除く

反対にリストから要素を削除する時には『pop(番号)』を使用します。

#リストから要素を削除

list=[1,2,3]
list.pop(1)
print(list)
#実行結果

[1, 3]

『list.pop(1)』では『1』の要素を取り除くのではなく、2番目の要素を削除する点に注意しましょう。(データ操作は0から始まるため1は2番目のデータを指す)

リストを空にする

リストの中身を空にする時は『clear』を使います。

#リストを空にする

list=[1,2,3]
list.clear()
print(list)
#実行結果

[]

出力すると『[]』だけになります。

リストの値をn倍する

リスト内全ての値をn倍するためには『演算 for 変数 in list』の形式を使います。

下記の例文は、リスト内の数値を3倍するコード、奇数の要素を2倍し偶数の要素を0にするコードです。

#リストの値をn倍

list=[1,2,3,4,5]
ex=[x*3 for x in list]
print(ex)
print("ifを使ったリストの演算")
ex2=[x*2 if x%2==1 else x*0 for x in list]
print(ex2)
#実行結果

[3, 6, 9, 12, 15]
ifを使ったリストの演算
[2, 0, 6, 0, 10]

ここで注意したいのif文、for文の使い方です。

通常のif文は『if 条件 実行内容1 else 実行内容2』の順ですが、上記の例では『実行内容1 条件 else 実行内容2』となります。

また、for文についても『for 条件 実行内容』の順ではなく『実行内容 for 条件』になります。

リストの並びを逆にする

リスト内の要素を逆の順番に並び変えるには『reverse』を使います。

#リストの並びを逆にする

list=[1,2,3]
list.reverse()
print(list)
#実行結果

[3, 2, 1]

リストの並びをソートする

『リスト名.sort()』でリストの中身を昇順にソートできます。

また、『リスト名.sort(revese=True)』で降順にソートできます。

#リストをソートする

list=[1,2,3,2,1]
print ("昇順はsortを使います")
list.sort()
print(list)

print ("降順はreverse=Trueを使います")
list.sort(reverse=True)
print(list)
#実行結果

昇順はsortを使います
[1, 1, 2, 2, 3]
降順はreverse=Trueを使います
[3, 2, 2, 1, 1]

リストから個数を検索する

リストからデータの個数を検索する時には『count(検索したいデータ)』を使います。

#要素の個数を検索

list=[1,2,3,2,1]
num=list.count(2)
print(num)
#実行結果

2

リスト内の要素が何番目か検索する

リスト内で要素の番号を調べるためには『index』コードを使います。

ここではリストのデータ管理は0番目から始まることに注意して例文を見てみましょう。

#リストの要素を検索

list=[1,2,3]
try:
    print(list.index(1))
    print(list.index(2))
    print(list.index(3))
    print(list.index(リストにない値))
except NameError:
    print("リストにない値はエラー")
#実行結果

0
1
2
リストにない値はエラー

ここまでがPythonの基本的なリスト操作になります。

使用頻度の低いコードも多々あるため、一度にすべてのコードを覚える必要はありません。

少しずつ経験を積んで習得していきましょう。

コメント