TypeError: タプル(Int ではない) をタプルに連結することしかできません

Zeeshan Afridi 2023年6月21日
  1. 単一のオブジェクトでタプルを作成する
  2. Python の TypeError: Can Only Concatenate Tuple (Not "Int") To Tuple を修正
TypeError: タプル(Int ではない) をタプルに連結することしかできません

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 クラスに属します。その理由は、inttuple が異なるため、タプルのオブジェクトの後にカンマ , を使用します。

コード例:

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つのタプルを連結することで修正されます。

著者: Zeeshan Afridi
Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

関連記事 - Python Error