2

私はPythonを使用していますが、一部のメソッドでは引数としてタプルが必要です。namedtupleによって作成されたインスタンスはタプルサブクラスですが、それでもタプルに変換する必要があるようです。
namedtupleによって作成されたタプルサブクラスをタプルにすばやく変換する方法はありますか?ありがとう!

4

2 に答える 2

7

namedtupleインスタンスxは、を使用してタプルに変換できますが、そうするtuple(x)必要はありません。一部のコードがタプルのみを受け入れ、namedtuplesを受け入れない場合、そのコードは壊れていると見なします。(そのような振る舞いを必要とする特別な場合があるかもしれませんが、私は今のところ何も考えられません。)

于 2012-07-11T13:50:10.563 に答える
1

問題を正しく理解していれば、namedtupleを引数として使用してタプルをインスタンス化できます。

>>> T = namedtuple('T', 'x y')
>>> isinstance(tuple(T(1, 2)), tuple)
True
>>> 
>>> tuple(T(1,2))
(1, 2)
于 2012-07-11T13:51:58.477 に答える