6
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

効率的なPythonリスト操作のための12個の関数

Posted at

はじめに

Pythonのリストはデータ操作の核となる部分で、その扱い方を知っておくことは非常に重要です。
この記事では、Pythonのリストを操作するための7つの組み込みメソッドを紹介します。

1. len(): リストの長さを取得

len()はPythonの組み込み関数で、リストだけでなく文字列やタプルなどのシーケンスの長さ(要素の数)を返します。リストに格納されている要素の数を知る際に非常に役立ちます。例えば、ループ処理でリストの全要素にアクセスする際などに、リストの長さを事前に知ることが重要です。

my_list = [1, 2, 3, 4, 5]
length = len(my_list)
print(length)  # 5

この例では、my_listには5つの要素が格納されているので、len()関数は5を返します。

2. append(): リストの末尾にアイテムを追加

リストに新しい要素を追加する場合、append()関数を使用します。この関数は、指定した要素をリストの末尾に追加します。リストは動的にサイズが変更可能なので、必要に応じて要素を追加することができます。

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

この例では、初めにmy_listには3つの要素が格納されていましたが、append()関数を使って4という要素を追加しました。

3. extend(): リストに複数のアイテムを追加

extend()関数は、リストに別のリスト(または反復可能なオブジェクト)の要素を一度に追加するために使用されます。これは、一つのリストの要素を別のリストに結合したい場合などに便利です。extend()を使用すると、元のリストが変更される点に注意が必要です。

list1 = [1, 2, 3]
list2 = [4, 5, 6]
list1.extend(list2)
print(list1)  # [1, 2, 3, 4, 5, 6]

4. reverse(): リストの順序を反転

reverse()関数は、リストの要素の順序を反転させます。元のリストを変更するため、逆転前のリストを残しておきたい場合は、リストのコピーを作成することがおすすめです。

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

5. insert(): 指定した位置にアイテムを挿入

insert()関数は、指定した位置に新しい要素をリストに追加するための関数です。この関数は2つの引数を受け取ります。1つ目は要素を挿入したい位置(インデックス)で、2つ目は挿入したい要素です。

fruits = ["apple", "banana", "cherry"]
fruits.insert(1, "orange")  # 'orange'をインデックス1の位置に挿入
print(fruits)  # ['apple', 'orange', 'banana', 'cherry']

6. sort(): リストを昇順にソート

sort()関数を使用すると、リストの要素を昇順(デフォルト)にソートすることができます。逆順にソートする場合は、reverse=True引数を指定します。この関数は元のリストを変更するため、ソート前のリストを保持したい場合は、先にリストのコピーを作成してください。

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

7. count(): アイテムの出現回数をカウント

count()関数は、リスト内の指定した要素の出現回数を返す関数です。この関数は、特定の要素がリスト内で何回出現するかを調べる際に役立ちます。

numbers = [1, 2, 3, 2, 4, 2, 5]
count_of_twos = numbers.count(2)
print(count_of_twos)  # 3 (2が3回出現)

8. remove(): 指定した要素をリストから削除

このメソッドは、指定された値を持つ最初の要素をリストから削除します。該当の要素が存在しない場合はエラーとなります。

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

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

インデックスを指定しない場合、リストの最後の要素を削除し返します。

numbers = [1, 2, 3, 4, 5]
popped_value = numbers.pop(2)
print(popped_value)  # 3
print(numbers)  # [1, 2, 4, 5]

10. clear(): リストの内容を全て削除

リストの全ての要素を削除し、空のリストにします。

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

11. index(): 指定した要素のインデックスを取得

該当する要素がない場合はエラーとなります。要素が複数存在する場合、最初に見つかった要素のインデックスを返します。

letters = ['a', 'b', 'c', 'd', 'e']
index_of_c = letters.index('c')
print(index_of_c)  # 2

12. copy(): リストの浅いコピーを作成

このメソッドはリストの要素を新しいメモリ領域にコピーします。このため、コピー先のリストを変更しても、元のリストは影響を受けません(ただし、リストの要素がオブジェクトの場合、そのオブジェクトは参照コピーされます)。

original = [1, 2, 3, 4, 5]
copied = original.copy()
print(copied)  # [1, 2, 3, 4, 5]

まとめ

Pythonのリスト操作を行う上で、これらの組み込みメソッドは非常に便利です。
これらのメソッドを駆使することで、コードが簡潔になり、より効率的なプログラムを作成することができます。

6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?