Python リスト

リスト

リストとは

※ 複数の値をひとまとめにして、効率的にデータ操作できる
※ 恐いがなんでも入れれる

構文

リスト名=[値,値,値,・・・]

# リスト作成
number_list=[10,20,30]

# 空リスト作成
number_list=[]

リストの値を取得する(表示する)

全要素取得

# リスト作成
number_list=[10,20,30]

# 全要素取得
print(number_list)

実行結果:
[10, 20, 30]

1要素のみ(0始まり)

# リスト作成
number_list=[10,20,30]

# 1個の要素取得(0開始)
print(number_list[0])
print(number_list[1])

実行結果:
10
20

※ 存在しない要素番号を指定するとエラー

連続した複数

# リスト作成
number_list=[10,20,30]

# 0~3番目までの4個(要素数が少ない場合は、ある要素のみ、多い場合は、指定されて要素分)
print(number_list[0:3])

# 1~3番目までの3個(要素数が少ない場合は、ある要素のみ、多い場合は、指定されて要素分)
print(number_list[1:3])

実行結果
[10, 20, 30]
[20, 30]

※ 指定された要素のある要素分のみを出力

リストの値を変更

# リスト作成
number_list=[10,20,30]

# リストの値を変更(要素の1番の値「20」を「50」に変更)
number_list[1]=50

実行結果
[10, 50, 30]

※ 存在しない要素番号を指定するとエラー

リストに挿入 (insertメソッド)

構文

リスト名.insert(インデックス番号,値)

# リスト作成
number_list=[10,20,30]

# リストに値を追加 1番目の要素として追加
number_list.insert(1,40)

# リストに値を追加 100番目の要素(最大要素数を超える)を指定してもエラーにはならず、最終要素の後ろの挿入
number_list.insert(100,40)

出力を実行した場合の実行結果 print(number_list)
[10, 40, 20, 30] 1番目の要素として「40」
[10, 40, 20, 30, 40] 100番目の要素がないので、最終要素に追加

リストに値を追加 (appendメソッド)

構文

リスト名.append(値)

# リスト作成
number_list=[10,20,30]

# リストに値を追加
number_list.append(40)

出力を実行した場合の実行結果 print(number_list)
[10, 20, 30, 40]

※ 最後の要素に追加される

リストの値を削除 (removeメソッド)・・・値を指定

構文

リスト名.remove(値)

# リスト作成
number_list=[10,20,30]

# リストに値を追加
number_list.remove(20)

出力を実行した場合の実行結果 print(number_list)
[10, 30] 

リストの値を削除(del文)・・・インデックス(要素番号)を指定

構文

del リスト名[インデックス]

# リスト作成
number_list=[10,20,30]

# リストに値を追加
del number_list[1]

出力を実行した場合の実行結果 print(number_list)
[10, 30]

リストの要素数を取得 (lenメソッド)

構文

len(リスト名)

# リスト作成
number_list=[10,20,30]

# リストに値を追加して表示
print(len(number_list))

実行結果
3

指定した要素のインデックスを取得 (indexメソッド)

構文

リスト名.index(値)

# リスト作成
number_list=[10,20,30]

# 値が30の要素番号を表示
print(number_list.index(30))

実行結果:
2

リスト内での値の出現回数の取得 (countメソッド)

構文

リスト名.count(値)

# リスト作成
name_list=["太郎","次郎","太郎"]

# 「太郎」の出現回数を表示
print(name_list.count("太郎"))

実行結果:
2

別のリストの末尾に要素を追加 (extendメソッド)

構文

リスト名.extend(別のリスト名)

# リスト作成
number_list=[10,20,30]
number_list2=[100,200,300]
number_list.extend(number_list2)
print(number_list)

実行結果:
[10, 20, 30, 100, 200, 300]

# リスト作成
number_list=[10,20,30]
name_list=["太郎","次郎","太郎"]
number_list.extend(name_list)
print(number_list)

実行結果:
[10, 20, 30, ‘太郎’, ‘次郎’, ‘太郎’]

多次元リスト

seats=[["011","003","008"],["009","005","006"],["012","001","007"],["004","002","010"]]
print(seats[0][2])

実行結果:
008

タプル

※ リストとよく似たデータ構造であるが、タプルの中の値は後から変更できない

基本構文

構文

タプル名=(値,値,値,・・・)
タプル名=値,値,値,・・・  ころえもタプル

number_tule=(10,20,30)
print(number_tule[1])
number_tule2=10,20,30
print(number_tule2[1])

実行結果:
20
20

タプルとリストの変換

※ list関数:タプルからリスト変換
※ tuple関数:リストからタプルに変換

number_tuple=(10,20,30)
print(list(number_tuple))

number_list=[100,200,300]
print(tuple(number_list))

実行結果:
[10, 20, 30]
(100, 200, 300)

タプル(tuple)メモ

  • リストに似ているが 変更不可(イミュータブル)
  • データの安全性を確保したいときに使う
    →「間違って書き換えては困る値」
  • 辞書のキーとして利用可能
    → list は NG、tuple は OK
  • set に格納可能(list は不可能)
  • 複数の戻り値を返す関数でよく使われる

コメント