リスト

Python

リストとは

Pythonにおいて、リストは複数の要素を格納することができるデータ型の一つです。リスト内には、任意のデータ型の値を含めることができます。リストの各要素は、カンマで区切って指定します。リストは[]を用いて表現されます。

# 空のリストの作成
empty_list = []

# 整数を要素にもつリストの作成
integer_list = [1, 2, 3, 4, 5]

# 文字列を要素にもつリストの作成
string_list = ["apple", "banana", "cherry"]

要素のアクセス

リスト内の各要素は、[]を用いてインデックスを指定することでアクセスできます。ただし、Pythonのインデックスは0から始まるため、最初の要素のインデックスは0、2番目の要素のインデックスは1、…となります。

fruits = ["apple", "banana", "cherry"]

# 1番目の要素にアクセス
print(fruits[1])  # "banana"が出力される

# 最後の要素にアクセス
print(fruits[-1])  # "cherry"が出力される

要素の変更

リスト内の要素は、インデックスを指定して直接変更することができます。

fruits = ["apple", "banana", "cherry"]

# 1番目の要素を"orange"に変更
fruits[1] = "orange"

print(fruits)  # ["apple", "orange", "cherry"]が出力される

リストの結合

+演算子を用いることで、複数のリストを結合することができます。

list1 = ["a", "b", "c"]
list2 = [1, 2, 3]

# リストの結合
list3 = list1 + list2

print(list3)  # ["a", "b", "c", 1, 2, 3]が出力される

リストのスライス

リストの要素にアクセスするためにスライシングを使うことができます。スライシングは、リストの一部を取り出す方法です。スライスは、以下の構文で表現されます。

list[start:stop:step]
  • start: スライスの開始位置を指定します。この位置の要素はスライスに含まれます。デフォルト値は 0 です。
  • stop: スライスの終了位置を指定します。この位置の要素はスライスに含まれません。デフォルト値は”リストの長さと同じ値”です。
  • step: スライスのステップを指定します。デフォルト値は 1 です。
my_list = [1, 2, 3, 4, 5]

# リストの0番目から2番目までの要素を取得する
slice1 = my_list[0:3]
print(slice1)  # [1, 2, 3]

# リストの1番目から最後の要素の一つ前までを取得する
slice2 = my_list[1:-1]
print(slice2)  # [2, 3, 4]

# リストの最初から2つおきに要素を取得する
slice3 = my_list[::2]
print(slice3)  # [1, 3, 5]

# リストの最後から2つおきに要素を取得する
slice4 = my_list[::-2]
print(slice4)  # [5, 3, 1]

リストのメソッド

リスト型には多くの便利なメソッドが用意されています。ここでは代表的なメソッドをいくつか紹介します。

append()

append() メソッドは、リストの末尾に新しい要素を追加することができます。以下は、append() メソッドを使用してリストの末尾に要素を追加する例です。

numbers = [1, 2, 3]
numbers.append(4)
print(numbers)   # [1, 2, 3, 4]

insert()

insert() メソッドは、リストの任意の位置に新しい要素を挿入することができます。以下は、insert() メソッドを使用してリストの任意の位置に要素を挿入する例です。

numbers = [1, 2, 3]
numbers.insert(1, 4)
print(numbers)   # [1, 4, 2, 3]

remove()

remove() メソッドは、リストから指定した値を持つ最初の要素を削除することができます。以下は、remove() メソッドを使用してリストから要素を削除する例です。

numbers = [1, 2, 3, 2]
numbers.remove(2)
print(numbers)   # [1, 3, 2]

pop()

pop() メソッドは、リストの任意の位置にある要素を削除してその要素を返すことができます。引数を省略した場合は、リストの末尾の要素が削除されます。以下は、pop() メソッドを使用してリストから要素を削除し、その要素を取り出す例です。

numbers = [1, 2, 3]
print(numbers.pop())   # 3print(numbers)   # [1, 2]
print(numbers.pop(0))   # 1
print(numbers)   # [2]

index()

index() メソッドは、指定した値を持つ最初の要素のインデックスを返します。以下は、index() メソッドを使用してリストの要素のインデックスを取得する例です。

numbers = [1, 2, 3, 2]
print(numbers.index(2))   # 1

count()

count() メソッドは、指定した値を持つ要素の個数を返します。以下は、count() メソッドを使用してリスト内の要素の数を取得する例です。

numbers = [1, 2, 3, 2]
print(numbers.count(2))   # 2

sort()

sort() メソッドは、

リストの要素を昇順に並べ替えます。リストの要素が文字列の場合は、アルファベット順に並べ替えられます。

# sort()メソッド
numbers = [3, 1, 4, 2, 5]
numbers.sort()
print(numbers)  # [1, 2, 3, 4, 5]

fruits = ['apple', 'banana', 'orange', 'pineapple']
fruits.sort()
print(fruits)  # ['apple', 'banana', 'orange', 'pineapple']

また、sort() メソッドには、 reverse 引数を使用して降順に並べ替えることもできます。

numbers = [3, 1, 4, 2, 5]
numbers.sort(reverse=True)
print(numbers)  # [5, 4, 3, 2, 1]

fruits = ['apple', 'banana', 'orange', 'pineapple']
fruits.sort(reverse=True)
print(fruits)  # ['pineapple', 'orange', 'banana', 'apple']

リストの内包表記

リスト内包表記は、リストを簡潔に生成するためのPythonの構文です。リスト内包表記を使えば、1つの行でコンパクトにリストを生成できます。

以下は、リスト内包表記を使わない場合と使う場合の比較です。

# リスト内包表記を使わない場合
squares = []
for x in range(10):
    squares.append(x**2)

# リスト内包表記を使う場合
squares = [x**2 for x in range(10)]

コメント