配列は、同じデータ型の要素のコレクションを格納するための基本的なデータ構造です。PythonにはCやJavaのような専用の配列型はありませんが、リストとarray
モジュールが同様の機能を提供します。このチュートリアルでは、array
モジュールが同種のデータ型に対してより優れたメモリ効率を提供しますが、リストの汎用性のためにリストに焦点を当てています。
目次:
1. リストの宣言
リストは角括弧[]
を使用して宣言し、要素はコンマで区切ります。
my_list = [1, 2, 3, 4, 5] # 整数
my_list_2 = ["apple", "banana", "cherry"] # 文字列
my_list_3 = [1.1, 2.2, 3.3] # 浮動小数点数
my_list_4 = [True, False, True] # ブール値
empty_list = [] # 空のリスト
2. リストのインデックス
インデックス(0から始まる)を使用して要素にアクセスします。
my_list = [10, 20, 30, 40, 50]
print(my_list[0]) # 出力: 10
print(my_list[2]) # 出力: 30
3. 負のインデックス
負のインデックスは、最後から要素にアクセスします。-1
は最後の要素、-2
は最後から2番目の要素などです。
my_list = [10, 20, 30, 40, 50]
print(my_list[-1]) # 出力: 50
print(my_list[-3]) # 出力: 30
4. リストの走査
ループを使用して反復処理します。
my_list = [1, 2, 3, 4, 5]
# forループを使用
for element in my_list:
print(element)
# インデックス付きのforループを使用
for i in range(len(my_list)):
print(f"インデックス{i}の要素: {my_list[i]}")
5. リストの更新
特定のインデックスに新しい値を代入することで要素を更新します。
my_list = [1, 2, 3, 4, 5]
my_list[0] = 10
my_list[2] = 30
print(my_list) # 出力: [10, 2, 30, 4, 5]
6. リストの変更
append()
、insert()
、extend()
などのメソッドを使用します。
my_list = [1, 2, 3]
my_list.append(4) # 最後に4を追加
my_list.insert(1, 10) # インデックス1に10を挿入
my_list.extend([5, 6]) # 最後に複数の要素を追加
print(my_list) # 出力: [1, 10, 2, 3, 4, 5, 6]
7. 要素の削除
del
、remove()
、pop()
を使用して要素を削除します。
my_list = [1, 2, 3, 4, 5]
del my_list[0] # インデックス0の要素を削除
my_list.remove(3) # 最初の3を削除
removed_element = my_list.pop(1) # インデックス1の要素を削除して返す
print(my_list) # 出力: [2, 4, 5]
print(f"削除された要素: {removed_element}") # 出力: 削除された要素: 4
8. リストのメソッド
Pythonのリストには多くの組み込みメソッドがあります。
len(my_list)
: 長さを返します。my_list.count(x)
:x
の出現回数をカウントします。my_list.index(x)
:x
の最初の出現インデックスを返します。my_list.reverse()
: リストをインプレースで反転します。my_list.sort()
: リストをインプレースでソートします(ソート可能な要素の場合)。sorted(my_list)
: ソートされた新しいリストを返します。
9. NumPy配列
より高度な配列操作(数値計算など)には、高度に最適化された配列機能を提供するNumPyライブラリを検討してください。