如何将由namedtuple创建的元组子类转换为元组本身?

时间:2012-07-11 13:44:27

标签: python tuples namedtuple

我正在使用python,而某些方法需要使用元组作为参数。尽管由namedtuple创建的实例是元组子类,但似乎我仍然需要将其转换为元组。
有没有办法将由namedtuple创建的元组子类快速转换为元组?谢谢!

2 个答案:

答案 0 :(得分:7)

可以使用namedtuplex实例tuple(x)转换为元组,但您不需要这样做。如果某些代码只接受元组,但没有namedtuple,我认为该代码已被破坏。 (可能是需要这种行为的特殊情况,但我现在想不到。)

答案 1 :(得分:1)

好吧,如果我理解正确的问题,你可以使用你的namedtuple作为参数来实例化元组:

>>> T = namedtuple('T', 'x y')
>>> isinstance(tuple(T(1, 2)), tuple)
True
>>> 
>>> tuple(T(1,2))
(1, 2)