HOWTO · Python
TypeError: タプル(Int ではない) をタプルに連結することしかできません
Tuple は Python の 4つのコレクションの 1つで、リストや配列とは異なり不変です。 タプル内のオブジェクトはコンマで区切られます。
このページの内容
Python プログラミング言語では、tuple はコンマ , で区切られたオブジェクトのコレクションを格納するために使用できるデータ構造です。 tuple は不変です。つまり、そのオブジェクトを変更することはできません。
タプルを作成するには、タプルの名前と通常の括弧 ( ) が必要で、コンマ , で区切られたオブジェクトを追加します。
タプルの構文:
my_tpl = (1, 2, 3, 4, 5, 6)
print(type(my_tpl)) # print the type of my_tpl
print(my_tpl)
出力:
<class 'tuple'>
(1, 2, 3, 4, 5, 6)
単一のオブジェクトでタプルを作成する
上記のプログラムでタプルの作成についてはすでに理解しましたが、それは複数のオブジェクトを持つタプルでした。 タプルの作成は、他のものとは少し異なる場合があります。
コード例:
my_tpl = 1
print(type(my_tpl))
print(my_tpl)
出力:
<class 'int'>
1
これは tuple ではなく int クラスに属します。その理由は、int と tuple が異なるため、タプルのオブジェクトの後にカンマ , を使用します。
コード例:
my_tpl = (1,)
print(type(my_tpl))
print(my_tpl)
出力:
<class 'tuple'>
(1,)
単一のオブジェクトを含むタプルを定義しました。
Python の TypeError: Can Only Concatenate Tuple (Not "Int") To Tuple を修正
この一般的なエラーは、タプル以外のデータ型の値を連結しようとしたときに発生します。 タプルに整数を追加すると、このエラーが発生する可能性があります。
このエラーが発生する理由と修正方法を見てみましょう。
コード例:
nums_tpl = (1, 2, 3, 4, 5) # Tuple
num_int = 6 # Integer
# Concatinating a tuple and an integer
concatinate = nums_tpl + num_int
print(concatinate)
出力:
TypeError: can only concatenate tuple (not "int") to tuple
整数をタプルに連結することは Python では許可されていないため、TypeError が発生します。
TypeError: can only concatenate tuple (not "int") to tuple を修正するには、2つのタプルを連結できますが、他のデータ型のタプルは連結できないため、整数の代わりにタプルを使用できます。
コード例:
nums_tpl = (1, 2, 3, 4, 5) # Tuple
num_int = (6,) # Tuple
# Concatinating two tuples
concatinate = nums_tpl + num_int
print(concatinate)
出力:
(1, 2, 3, 4, 5, 6)
ご覧のとおり、TypeError は、タプルと整数の代わりに 2つのタプルを連結することで修正されます。