第8章 配列
配列
Pythonにおける配列には「リスト(List)」、「タプル(Tuple)」、「辞書(Dictionary)」があります。これらはデータをグループ化し、効率的に操作するためのツールとして使用されます。それぞれの特性と使用例を以下に示します。
リスト(List)
リストは複数の要素を順序付けして格納できるデータ構造です。リストは可変的(mutable)であるため、一度作成した後でも要素の追加、削除、変更が可能です。
# リストの作成
list1 = [1, 2, 3, 4, 5]
# append: リストの末尾に6を追加
list1.append(6)
print(list1) # 出力: [1, 2, 3, 4, 5, 6]
# extend: リストの末尾に別のリストを追加
list1.extend([7, 8])
print(list1) # 出力: [1, 2, 3, 4, 5, 6, 7, 8]
# insert: インデックス1の位置に0を挿入
list1.insert(1, 0)
print(list1) # 出力: [1, 0, 2, 3, 4, 5, 6, 7, 8]
# remove: 値が0の最初の要素を削除
list1.remove(0)
print(list1) # 出力: [1, 2, 3, 4, 5, 6, 7, 8]
# pop: インデックス0の要素を削除し、その要素を返す
element = list1.pop(0)
print(element) # 出力: 1
# sort: リストを昇順に並べ替え
list1.sort()
print(list1) # 出力: [2, 3, 4, 5, 6, 7, 8]
# reverse: リストを逆順に
list1.reverse()
print(list1) # 出力: [8, 7, 6, 5, 4, 3, 2]
タプル(Tuple)
タプルはリストと似ていますが、要素の変更が不可能な(immutableな)データ構造です。要素の追加や削除、変更が不要な場合や、データの保護が必要な場合に使用されます。
# タプルの作成
tuple1 = (1, 2, 2, 3, 3, 3)
# count: 値が2の要素の数を数える
num_2 = tuple1.count(2)
print(num_2) # 出力: 2
# index: 値が3の最初の要素のインデックスを取得
index_3 = tuple1.index(3)
print(index_3) # 出力: 3
辞書(Dictionary)
辞書はキーと値のペアを格納するデータ構造で、キーを使って値にアクセスすることができます。順序は保証されませんが、データの検索が高速であることが特徴です。
# 辞書の作成
dict1 = {'apple': 1, 'banana': 2, 'cherry': 3}
# keys: 全てのキーを取得
keys = dict1.keys()
print(keys) # 出力: dict_keys(['apple', 'banana', 'cherry'])
# values: 全ての値を取得
values = dict1.values()
print(values) # 出力: dict_values([1, 2, 3])
# items: 全てのキーと値のペアを取得
items = dict1.items()
print(items) # 出力: dict_items([('apple', 1), ('banana', 2), ('cherry', 3)])
# get: キーが'apple'の値を取得
value = dict1.get('apple')
print(value) # 出力: 1
# update: 他の辞書のキーと値を追加
dict1.update({'orange': 4})
print(dict1) # 出力: {'apple': 1, 'banana': 2, 'cherry': 3, 'orange': 4}
# pop: キーが'apple'の要素を削除し、その値を返す
element = dict1.pop('apple')
print(element) # 出力: 1
# clear: 辞書の全ての要素を削除
dict1.clear()
print(dict1) # 出力: {}
練習問題1.
以下のリストが与えられます。
numbers = [5, 10, 15, 20, 25]
このリストの要素全てを2倍にした新しいリストを作成してください。
練習問題2.
以下のリストが与えられます。
students = [("Tom", 18), ("Lucy", 20), ("Jack", 22)]
このリストの各タプルから、名前をキー、年齢を値とする辞書を作成してください。
練習問題3.
以下の辞書が与えられます。
products = {"apple": 100, "banana": 200, "cherry": 300}
この辞書の各キーと値を用いて、「appleは100円です」という形式で出力してください。