共テ情報I – 最小限のPython入門
§4. リスト
解説動画
【MENU】
00:00 要項:リスト(配列)
15:07 Sample 4-1
22:10 Sample 4-2
END 31:31
◆ リスト(配列)の利用
リストは複数の要素を順序付けて保持するデータ構造であり,各要素は変更可能である.Pythonではリストを配列のように扱うことが一般的である.共テ対策としては,リストと配列を同一視して構わないだろう.
※ PythonのリストはC言語などの配列とは違い,異なるデータ型の要素を同時に格納することができるが,本講義では同一のデータ型の要素を格納したリストしか扱わない.
リストの作成
リストは角括弧([])を使用して作成し,要素はカンマで区切って列挙する.
リスト名 = [要素1, 要素2, 要素3, ... ]
### リストの作成
numbers = [1, 2, 3, 4, 5] # 4つの整数からなるリスト
fruits = ["apple", "banana", "cherry"] # 3つの文字列からなるリスト
リストへのアクセス
要素にアクセスするにはインデックス(0から始まる)を使用する.リストのn番目の要素には,リスト名[n-1]
でアクセスできる.
# リストを作成し,要素へアクセスする
fruits = ["apple", "banana", "cherry"]
my_fruit = fruits[0]
print(my_fruit) # 出力:apple
print(fruits[2]) # 出力:cherry
# fruits[3]などはerror
※ リスト名[-n]
で最後からn番目の要素にアクセスすることができる.
◆ リスト(配列)の操作
リストの操作には,要素の追加・挿入・削除だけでなく,検索や並べ替え,結合などさまざまなものがある.
要素の追加
append()
メソッドはリストの末尾に新しい要素を追加する.
fruits = ["apple", "banana"]
fruits.append("cherry")
print(fruits) # 出力: ['apple', 'banana', 'cherry']
要素の挿入
insert()
メソッドは指定したインデックス位置に要素を挿入する.
fruits = ["apple", "banana", "cherry"]
fruits.insert(1, "orange")
print(fruits) # 出力: ['apple', 'orange', 'banana', 'cherry']
要素の削除
remove()
メソッドは,指定した値を持つ最初の要素を削除する.もし該当する要素がなければエラーが発生する.
fruits = ["apple", "banana", "cherry"]
fruits.remove("banana")
print(fruits) # 出力: ['apple', 'cherry']
pop()
メソッドは,指定したインデックスの要素を削除し,その要素を返す.
fruits = ["apple", "banana", "cherry"]
removed_fruit = fruits.pop(1) # "banana" を削除
print(fruits) # 出力: ['apple', 'cherry']
print("削除された要素:", removed_fruit) # 出力: 削除された要素: banana
リストの長さと総和の取得
len()
関数は,リストに含まれる要素の数を返す.また,sum()
関数は,リストの要素の総和を求める(数値以外の要素が含まれる場合はエラーになる).
fruits = ["apple", "banana", "cherry"]
print(len(fruits)) # 出力:3
### リスト内の数値を使って総和と平均を求める.
numbers = [10, 20, 30, 40, 50] # 総和の計算
total = sum(numbers) # 平均の計算
average = total / len(numbers) # 結果の出力
print("総和:", total)
print("平均:", average)
◆ サンプルコード
Sample 4-1
vector = [1, -0.5, 7]
ichiji = 0
for i in range(0, 3, 1): # 0, 1, 2
ichiji = ichiji + vector[i] ** 2
nagasa = ichiji ** 0.5
print(nagasa)
Sample 4-2
data = [3, 5, 1, 2, 7]
kosu = len(data)
goukei = 0
# 合計を計算するためのループ
for i in range(0, kosu, 1): # 0, 1, 2, 3, 4
goukei = goukei + data[i]
print(goukei)
# print(sum(data)) # sum()関数はリスト内の数値の合計を返す
heikin = goukei / kosu # 平均値を求める
print(heikin)
hensa = []
# 偏差を求めてリストに格納
for i in range(0, kosu, 1): # 0, 1, 2, 3, 4
hensa.append(data[i] - heikin)
print(hensa)
ichiji = 0
# 偏差の二乗和を求めるループ
for i in range(0, kosu, 1): # 0, 1, 2, 3, 4
ichiji = ichiji + hensa[i] ** 2
hyoujun_hensa = (ichiji / kosu) ** 0.5 # 標準偏差を求める
print(hyoujun_hensa)