Pythonのシーケンス型とは?基本操作とサンプルコードで学ぶ使い方
Pythonのシーケンス型(シーケンスタイプ)の概要
Pythonにおける基本的なシーケンス型には、list(リスト)、tuple(タプル)、range の3種類があります。さらに、バイナリデータやテキスト文字列(str)といった追加のシーケンス型オブジェクトも標準で用意されています。
これらのシーケンス型オブジェクトには、ミュータブル(変更可能)なシーケンスとイミュータブル(変更不可能)なシーケンスの両方に共通して使える操作が数多く存在します。以下に主要な操作とその説明をまとめました。
シーケンス型の共通操作一覧
| 番号 | 操作・関数と説明 |
|---|---|
| 1 | x in seq x がシーケンス seq 内に存在すれば True、存在しなければ False を返す |
| 2 | x not in seq x がシーケンス seq 内に存在すれば False、存在しなければ True を返す |
| 3 | x + y 2つのシーケンス x と y を連結する |
| 4 | x * n または n * x シーケンス x を n 回繰り返した新しいシーケンスを作成する |
| 5 | seq[i] シーケンスの i 番目の要素を取得する |
| 6 | seq[i:j] インデックス i から j までの範囲をスライスする |
| 7 | seq[i:j:k] インデックス i から j までの範囲をステップ k でスライスする |
| 8 | len(seq) シーケンスの長さ(要素数)を返す |
| 9 | min(seq) シーケンス内の最小の要素を返す |
| 10 | max(seq) シーケンス内の最大の要素を返す |
| 11 | seq.index(x[, i[, j]]) x が最初に出現するインデックスを返す(範囲 i ~ j の中で検索可能) |
| 12 | seq.count(x) シーケンス内に x が出現する回数を数える |
| 13 | seq.append(x) シーケンスの末尾に x を追加する |
| 14 | seq.clear() シーケンスの内容をすべて削除する |
| 15 | seq.insert(i, x) 位置 i に x を挿入する |
| 16 | seq.pop([i]) 位置 i の要素を取り出して返し、同時にシーケンスから削除する。引数を省略した場合は末尾の要素が対象になる |
| 17 | seq.remove(x) 最初に出現した要素 x を削除する |
| 18 | seq.reverse() リストの要素順を逆に並べ替える |
サンプルコード
以下は、リストに対して各種シーケンス操作を実際に適用した例です。
myList1 = [10, 20, 30, 40, 50]
myList2 = [56, 42, 79, 42, 85, 96, 23]
if 30 in myList1:
print('30 is present')
if 120 not in myList1:
print('120 is not present')
print(myList1 + myList2) # リストを連結
print(myList1 * 3) # myList1 を3回繰り返す
print(max(myList2))
print(myList2.count(42)) # 42 はリスト内に2回出現
print(myList2[2:7])
print(myList2[2:7:2])
myList1.append(60)
print(myList1)
myList2.insert(5, 17)
print(myList2)
myList2.pop(3)
print(myList2)
myList1.reverse()
print(myList1)
myList1.clear()
print(myList1)
実行結果
30 is present 120 is not present [10, 20, 30, 40, 50, 56, 42, 79, 42, 85, 96, 23] [10, 20, 30, 40, 50, 10, 20, 30, 40, 50, 10, 20, 30, 40, 50] 96 2 [79, 42, 85, 96, 23] [79, 85, 23] [10, 20, 30, 40, 50, 60] [56, 42, 79, 42, 85, 17, 96, 23] [56, 42, 79, 85, 17, 96, 23] [60, 50, 40, 30, 20, 10] []
まとめ
Pythonのシーケンス型は、メンバーシップ判定(in / not in)、連結(+)、繰り返し(*)、スライシング、そして append や pop などの要素操作まで、直感的かつ統一的なインターフェースで扱えるのが大きな特徴です。特に list はミュータブルなので自由に要素を追加・削除でき、日常的なプログラミングで最もよく使われるデータ構造の一つです。これらの操作を使いこなせるようになると、データ処理のコードが格段に書きやすくなります。
-
Python 3の標準データ型とは?数値・シーケンス・辞書の基本をわかりやすく解説
Python 3の標準データ型の概要Python 3に標準で用意されているデータ型は、大きく分けて「数値型」「シーケンス型」「辞書(ディクショナリ)型」の3つに分類できます。辞書はキーと値のペアを格納するコレクションであり、Pythonプログラミングにおいて最も頻繁に使われるデータ構造の一つです。数値型(Numeric Types)数値型には「整数(int)」「浮動小数点数(float)」「複素数(complex)」の3種類があります。整数(int):小数点を含まない整数値です。例:10、-10浮動小数点数(float):小数部分を持つ実数です。例:1.55、0.005複素数(complex)
-
Pythonのデータ型と型変換をわかりやすく解説
この記事では、Pythonにおける主要なデータ型の種類と、それぞれの使い方、そしてデータ型同士を変換する方法について詳しく解説します。 Pythonの組み込みデータ型一覧 Pythonでは変数を作成・宣言する際に、さまざまなデータ型を持たせることができます。Pythonには以下のような組み込みデータ型が用意されています。 str(文字列) int、float、complex(数値) list、tuple(シーケンス) dict(辞書) set(集合) bool(ブール値) bytes、bytearray(バイナリ) それでは、各データ型の特徴と作成方法を順番に見ていきましょう。 文字列型: