Pythonタプル
mytuple = ("apple", "banana", "cherry")
タプル
タプルは、1つの変数に複数のアイテムを格納するために使用されます。
タプルは、データのコレクションを格納するために使用されるPythonの4つの組み込みデータ型の1つであり、他の3つは、リスト、 セット、およびディクショナリであり、すべて異なる品質と使用法を備えています。
タプルは、順序付けられて変更できないコレクションです。
タプルは丸括弧で書かれています。
例
タプルを作成します。
thistuple = ("apple", "banana", "cherry")
print(thistuple)
タプルアイテム
タプルアイテムは順序付けられており、変更できず、重複する値を許可します。
タプルアイテムにはインデックスが付けられ、最初のアイテムにはインデックス[0]
があり、2番目のアイテムにはインデックスがあります[1]
。
順序付けられました
タプルが順序付けられているとは、アイテムに定義された順序があり、その順序は変更されないことを意味します。
変更不可
タプルは変更できません。つまり、タプルの作成後にアイテムを変更、追加、または削除することはできません。
複製を許可する
タプルにはインデックスが付けられているため、同じ値のアイテムを持つことができます。
例
タプルは重複する値を許可します:
thistuple = ("apple", "banana", "cherry", "apple", "cherry")
print(thistuple)
タプルの長さ
タプルに含まれるアイテムの数を判別するには、次の
len()
関数を使用します。
例
タプル内のアイテムの数を出力します。
thistuple = ("apple", "banana", "cherry")
print(len(thistuple))
1つのアイテムでタプルを作成する
アイテムが1つしかないタプルを作成するには、アイテムの後にコンマを追加する必要があります。そうしないと、Pythonはそれをタプルとして認識しません。
例
1つの項目のタプル、コンマを覚えておいてください:
thistuple = ("apple",)
print(type(thistuple))
#NOT a tuple
thistuple = ("apple")
print(type(thistuple))
タプルアイテム-データ型
タプルアイテムは、任意のデータ型にすることができます。
例
文字列、整数、ブールデータ型:
tuple1 = ("apple", "banana", "cherry")
tuple2 = (1, 5, 7, 9, 3)
tuple3 = (True, False, False)
タプルには、さまざまなデータ型を含めることができます。
例
文字列、整数、ブール値を持つタプル:
tuple1 = ("abc", 34, True, 40, "male")
タイプ()
Pythonの観点からは、タプルはデータ型が「タプル」のオブジェクトとして定義されます。
<class 'tuple'>
例
タプルのデータ型は何ですか?
mytuple = ("apple", "banana", "cherry")
print(type(mytuple))
tuple()コンストラクタ
tuple()コンストラクターを使用してタプルを作成することもできます。
例
tuple()メソッドを使用してタプルを作成します。
thistuple = tuple(("apple", "banana", "cherry")) # note the double round-brackets
print(thistuple)
Pythonコレクション(配列)
Pythonプログラミング言語には4つのコレクションデータ型があります。
- リストは、注文して変更できるコレクションです。重複メンバーを許可します。
- タプルは、注文されて変更できないコレクションです。重複メンバーを許可します。
- Setは、順序付けられておらず、変更できない*、インデックス付けされていないコレクションです。重複するメンバーはありません。
- 辞書は注文された**コレクションであり、変更可能です。重複するメンバーはありません。
*セットアイテムは変更できませんが、いつでもアイテムを削除および/または追加できます。
** Pythonバージョン3.7以降、辞書は注文されています。Python 3.6以前では、辞書は順序付けられていません。
コレクションタイプを選択するときは、そのタイプのプロパティを理解しておくと便利です。特定のデータセットに適切なタイプを選択することは、意味を保持することを意味する可能性があり、効率またはセキュリティの向上を意味する可能性があります。