Pythonのシーケンス型とは?主な種類と特徴をわかりやすく解説
シーケンス型とは何か
Pythonにおけるシーケンス(sequence)型とは、複数の値を順序付けて整理し、効率的に格納できるデータ型の総称です。代表的なシーケンス型には、文字列(str)、リスト(list)、タプル(tuple)、bytearray、rangeオブジェクトなどがあります。
一方で、辞書(dict)やセット(set)は順序を持たないデータを扱うコンテナであり、シーケンス型には分類されません。この違いを理解しておくことは、Pythonのデータ構造を使いこなす上で非常に重要です。
主なシーケンス型の特徴
Python公式ドキュメントによると、各シーケンス型は以下のような特徴を持っています。
文字列(str):Unicodeコードポイントからなる不変(イミュータブル)なシーケンスです。一度作成した文字列は変更できません。
リスト(list):可変(ミュータブル)なシーケンスで、同じ種類の項目のコレクションを格納する用途でよく使われます。要素の追加・削除・変更が自由に行えます。
タプル(tuple):不変(イミュータブル)なシーケンスで、異なる種類のデータをまとめて扱うのに適しています。たとえば、組み込み関数enumerate()が返す2要素のタプルなどが代表例です。
bytearray:可変なオブジェクトで、bytes型とbytearray型に共通する操作に加えて、可変シーケンスならではの操作(要素の変更など)もサポートしています。
range:数値の不変(イミュータブル)なシーケンスを表します。for文で決まった回数だけ繰り返し処理を行う際によく利用されます。
可変と不変の違いを押さえよう
シーケンス型を選ぶ際の大きなポイントは「可変(ミュータブル)」か「不変(イミュータブル)」かという点です。リストやbytearrayは後から内容を変更できますが、文字列・タプル・rangeは作成後に変更できません。データを安全に保持したい場合は不変な型を、動的に更新したい場合は可変な型を選ぶとよいでしょう。
簡単な使用例
たとえば、リストは次のように要素を追加・変更できます。
my_list = [1, 2, 3]
my_list.append(4) # 要素の追加 → [1, 2, 3, 4]
一方、タプルは変更できないため、固定されたデータのセットを表現するのに向いています。
my_tuple = (1, 2, 3)
# my_tuple[0] = 10 # ← エラーになる(不変のため)
rangeはfor文と組み合わせて、指定回数のループ処理を簡潔に記述できます。
for i in range(5):
print(i) # 0〜4 を出力
まとめ
Pythonのシーケンス型は、データを順序付きで管理するための基本的かつ強力な仕組みです。それぞれの型が「可変か不変か」「どんなデータに向いているか」という特性を持っているため、目的に応じて適切な型を選ぶことが、読みやすく効率的なコードを書く第一歩となります。
-
Python 3の標準データ型とは?数値・シーケンス・辞書の基本をわかりやすく解説
Python 3の標準データ型の概要Python 3に標準で用意されているデータ型は、大きく分けて「数値型」「シーケンス型」「辞書(ディクショナリ)型」の3つに分類できます。辞書はキーと値のペアを格納するコレクションであり、Pythonプログラミングにおいて最も頻繁に使われるデータ構造の一つです。数値型(Numeric Types)数値型には「整数(int)」「浮動小数点数(float)」「複素数(complex)」の3種類があります。整数(int):小数点を含まない整数値です。例:10、-10浮動小数点数(float):小数部分を持つ実数です。例:1.55、0.005複素数(complex)
-
Pythonの主なデータ型変換関数まとめ|int・float・str・listなどの使い方を実例付きで解説
Pythonには、あるデータ型から別のデータ型へ値を変換するための組み込み関数が多数用意されています。この記事では、数値変換やコレクション変換に使える主要なデータ変換関数を、実際の実行例とともにわかりやすく解説します。 数値データの変換関数 int():整数への変換 浮動小数点数や、整数を表す文字列を整数(int)オブジェクトに変換します。文字列を変換する場合は、第2引数に基数を指定することで、8進数や16進数の文字列を整数に変換することもできます。 >>> int(11) 11 >>> int(11.15) 11 >>> int(2