タプルとリストの違い

タプル(tuple)とリスト(list)は、Pythonの基本的なデータ構造の一部ですが、いくつかの重要な違いがあります。本記事では、それぞれの特徴と違いを説明します。

タプル(Tuple)

タプルは、複数の要素を順序付けして格納するためのデータ構造です。

  • 丸括弧()で定義する
  • 要素の値を変更することができない(immutable)
  • インデックスを使用して要素にアクセスすることができる
  • インデックスやスライスを使用して、要素の一部を取得することができる
my_tuple = (1, 2, 3, 4, 5)
print(my_tuple[0])  # 1
print(my_tuple[1:3])  # (2, 3)

リスト(List)

リストは、複数の要素を順序付けして格納するためのデータ構造です。

  • 角括弧[]で定義する
  • 要素の値を変更することができる(mutable)
  • インデックスを使用して要素にアクセスすることができる
  • インデックスやスライスを使用して、要素の一部を取得することができる
  • 要素の追加や削除、並び替えなど、リストを変更する操作ができる
my_list = [1, 2, 3, 4, 5]
print(my_list[0])  # 1
print(my_list[1:3])  # [2, 3]

my_list.append(6)  # 要素の追加
del my_list[2]  # 要素の削除

タプルとリストの主な違いは、変更不可(immutable)か変更可能(mutable)かという点です。タプルは変更不可であり、一度作成された後は要素の変更ができませんが、リストは変更可能であり、要素の追加、削除、変更ができます。
また、タプルは固定されたデータを表現する場合に使用され、メモリ効率が良いです。一方、リストは可変であり、要素の追加や削除が必要な場合に使用されます。
どちらのデータ構造を使用するかは、データの性質と使用目的によって異なります。

リストからタプルを生成する方法

tupleのコンストラクタにリストを渡します。

my_list = [1, 2, 3, 4, 5]
my_tuple = tuple(my_list)
print(my_tuple)

リストやタプルの長さ(要素数)を取得する

len()を使用します。

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

リスト操作

リストから先頭の要素を削除する

my_list = [1, 2, 3, 4, 5]
first_element = my_list.pop(0)
print(my_list)  # 出力: [2, 3, 4, 5]
print(first_element)  # 出力: 1

リストの平均値を求める

my_list = [1, 2, 3, 4, 5]
average = sum(my_list) / len(my_list)
print(average)

リストが空かどうかを判定する

リストで判定

my_list = [1]

if my_list:
    print("not empty")
else:
    print("empty")
not empty
my_list = []

if my_list:
    print("not empty")
else:
    print("empty")
empty

空のリストと比較

my_list = []

if my_list == []:
    print("empty")
else:
    print("not empty")
empty
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です