🙆

Pythonの初心者レッスンーーPythonタプル(tuple)

2024/06/17に公開

シーリズの目次

Pythonの初心者レッスンをここにまとめています。
https://zenn.dev/datasciencekun/articles/319e0f4b4021c5

Pythonのタプル(tuple)は、複数の値を1つのコレクションとしてまとめて扱うためのデータ型の一つです。タプルは以下の特徴を持ちます。

  1. 順序付き:タプルの要素は順序を持ち、インデックスによってアクセスできます。
  2. 変更不可:タプルの要素は作成後に変更することができません(イミュータブル)。
  3. 複数のデータ型を保持:タプルは異なるデータ型の要素を保持することができます。

タプルの作成

タプルは丸括弧 () を使って作成します。カンマ , で区切って要素を列挙します。

# 空のタプル
empty_tuple = ()

# 空のタプル
empty_tuple = tuple()

# 1つの要素を持つタプル(カンマが必要)
single_element_tuple = (1,)

# 複数の要素を持つタプル
multi_element_tuple = (1, 2, 3)

# 複数のデータ型を保持
tup = ('Google', 'Runoob', 1997, 2000)

type(multi_element_tuple)  # 出力 <class 'tuple'>

タプルのアクセス

タプルの要素にはインデックスを使用してアクセスします。

tup = ('Google', 'Runoob', 'Taobao', 'Wiki', 'Weibo','Weixin')
tup[1] # 'Runoob'
tup[-2] # 'Weibo'
tup[1:] # ('Runoob', 'Taobao', 'Wiki', 'Weibo', 'Weixin')
tup[1:4] # ('Runoob', 'Taobao', 'Wiki')

tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
print ("tup1[0]: ", tup1[0]) # 出力 tup1[0]:  Google
print ("tup2[1:5]: ", tup2[1:5]) # 出力 tup2[1:5]:  (2, 3, 4, 5)

変更と削除

Pythonのタプルは不変(イミュータブル)であるため、一度作成されたタプルの要素を直接変更することはできません。しかし、タプル全体を削除することや、タプルの特定の部分を新しいタプルとして生成することは可能です。以下に、タプルの変更と削除について説明します。

  • タプルの変更
    タプル自体は変更できませんが、タプルを使って新しいタプルを作成することはできます。例えば、既存のタプルの一部を置き換えたい場合、新しいタプルを作成する必要があります。
# 元のタプル
original_tuple = (1, 2, 3, 4, 5)

# タプルの要素を変更するには、新しいタプルを作成する
# 例:3を30に変更したい場合
new_tuple = original_tuple[:2] + (30,) + original_tuple[3:]

print(new_tuple)  # (1, 2, 30, 4, 5)
  • タプルの削除
    タプル全体を削除する場合、delステートメントを使用できます。しかし、タプルの特定の要素を削除することはできません。タプル全体を削除する方法は以下の通りです。
# 元のタプル
original_tuple = (1, 2, 3, 4, 5)

# タプル全体を削除
del original_tuple

# 削除後にアクセスしようとするとエラーになる
# print(original_tuple)  # NameError: name 'original_tuple' is not defined

タプル演算子

以下は、Pythonのタプルに関する運算符をテーブルで一覧にしたものです。

運算符 説明
+ 2つのタプルを連結します (1, 2) + (3, 4)(1, 2, 3, 4)
* タプルを指定回数繰り返します (1, 2) * 3(1, 2, 1, 2, 1, 2)
in 要素がタプルに含まれているかを確認します 3 in (1, 2, 3)True
not in 要素がタプルに含まれていないかを確認します 4 not in (1, 2, 3)True
== 2つのタプルが等しいかを確認します (1, 2) == (1, 2)True
!= 2つのタプルが等しくないかを確認します (1, 2) != (1, 3)True
< あるタプルが他のタプルより小さいかを確認します (1, 2) < (1, 3)True
<= あるタプルが他のタプル以下かを確認します (1, 2) <= (1, 2)True
> あるタプルが他のタプルより大きいかを確認します (1, 3) > (1, 2)True
>= あるタプルが他のタプル以上かを確認します (1, 2) >= (1, 2)True

タプルに関する関数

以下は、Pythonのタプルに関する関数をテーブルで一覧にしたものです。

関数 説明
len(tuple) タプルの長さ(要素数)を返します
max(tuple) タプル内の最大値を返します
min(tuple) タプル内の最小値を返します
sum(tuple) タプル内の数値の合計を返します
tuple(seq) シーケンスをタプルに変換します
tuple.count(value) 指定した値がタプル内に何回現れるかを返します
tuple.index(value) 指定した値が最初に現れるインデックスを返します

Discussion