【Python】09_リスト操作についての解説

Python Python

Pythonのリストは、データを格納するための可変長のシーケンス型です。リストには、複数の要素を順序付けて格納することができ、要素の追加、削除、スライス、ソートなどのさまざまな操作が可能です。

この記事では、リストの基本的な操作である要素の追加削除スライス、およびソートについて詳しく解説します。

1. リストに要素を追加する

Pythonのリストには、いくつかの方法で要素を追加することができます。主に使われるメソッドには、append()insert()、および**extend()** があります。

1.1. append(): リストの末尾に要素を追加

append() は、リストの最後に要素を追加するメソッドです。リストに一つの要素を追加したいときに使います。

例:

fruits = ["apple", "banana"]
fruits.append("cherry")
print(fruits)  # ['apple', 'banana', 'cherry']

1.2. insert(): 特定の位置に要素を追加

insert() は、リストの指定した位置に新しい要素を挿入します。挿入する位置を指定し、その場所に要素を追加します。

例:

fruits = ["apple", "banana"]
fruits.insert(1, "cherry")
print(fruits)  # ['apple', 'cherry', 'banana']

1.3. extend(): 複数の要素をリストに追加

extend() は、リストの末尾に別のリストやイテラブルオブジェクト(リスト、タプルなど)の要素を一度に追加します。

例:

fruits = ["apple", "banana"]
more_fruits = ["cherry", "orange"]
fruits.extend(more_fruits)
print(fruits)  # ['apple', 'banana', 'cherry', 'orange']

2. リストから要素を削除する

リストから要素を削除するには、remove()pop()、および**del** などの方法があります。

2.1. remove(): 指定した要素を削除

remove() は、リスト内で最初に見つかった指定した要素を削除します。削除する要素がリスト内に存在しない場合、エラーが発生します。

例:

fruits = ["apple", "banana", "cherry"]
fruits.remove("banana")
print(fruits)  # ['apple', 'cherry']

2.2. pop(): 指定したインデックスの要素を削除し、その要素を返す

pop() は、指定したインデックスの要素を削除し、その要素を返します。インデックスを指定しない場合、リストの最後の要素が削除されます。

例:

fruits = ["apple", "banana", "cherry"]
popped_fruit = fruits.pop(1)
print(fruits)  # ['apple', 'cherry']
print(popped_fruit)  # 'banana'

2.3. del: 指定したインデックスの要素を削除

del キーワードを使って、リストの特定の位置にある要素を削除することができます。また、スライスを使って複数の要素を削除することも可能です。

例:

fruits = ["apple", "banana", "cherry"]
del fruits[1]
print(fruits)  # ['apple', 'cherry']

3. リストのスライス

スライスとは、リストの特定の範囲の要素を取得したり、置き換えたりする方法です。スライスを使うことで、リストの部分的なコピーや変更が可能です。

基本構文

リスト[start:stop:step]
  • start: 取得を開始するインデックス(デフォルトは0)

  • stop: 取得を終了するインデックス(終了インデックスは含まれない)

  • step: 取得する際のステップ数(デフォルトは1)

例: スライスで要素を取得

numbers = [0, 1, 2, 3, 4, 5]
subset = numbers[1:4]  # インデックス1から3の要素を取得
print(subset)  # [1, 2, 3]

例: スライスで要素を置き換え

numbers = [0, 1, 2, 3, 4, 5]
numbers[1:4] = [10, 20, 30]  # インデックス1から3までを置き換える
print(numbers)  # [0, 10, 20, 30, 4, 5]

4. リストをソートする

Pythonでは、リストを昇順降順でソートするために、sort() メソッドと sorted() 関数を使います。

4.1. sort(): リスト自体をソート

sort() は、リストの要素を昇順または降順に並べ替え、元のリスト自体を変更します。

例: 昇順ソート

numbers = [3, 1, 4, 1, 5, 9]
numbers.sort()  # 昇順にソート
print(numbers)  # [1, 1, 3, 4, 5, 9]

例: 降順ソート

numbers = [3, 1, 4, 1, 5, 9]
numbers.sort(reverse=True)  # 降順にソート
print(numbers)  # [9, 5, 4, 3, 1, 1]

4.2. sorted(): ソートされた新しいリストを返す

sorted() 関数は、元のリストを変更せず、ソートされた新しいリストを返します。

例:

numbers = [3, 1, 4, 1, 5, 9]
sorted_numbers = sorted(numbers)  # 新しいソート済みリストを返す
print(sorted_numbers)  # [1, 1, 3, 4, 5, 9]
print(numbers)  # 元のリストは変更されない [3, 1, 4, 1, 5, 9]

まとめ

Pythonのリスト操作では、次のような基本的な操作が重要です。

  1. 要素の追加:

    • append(): リストの末尾に1つの要素を追加。

    • insert(): 指定した位置に要素を追加。

    • extend(): 他のリストの要素を追加。

  2. 要素の削除:

    • remove(): リスト内の特定の要素を削除。

    • pop(): 指定したインデックスの要素を削除し、その要素を返す。

    • del: 指定したインデックスや範囲の要素を削除。

  3. スライス:

    • リストの部分的な取得や置き換えに使います。

  4. ソート:

    • sort(): リスト自体をソート。

    • sorted(): ソートされた新しいリストを返す。

コメント

PAGE TOP
タイトルとURLをコピーしました