2

我正在使用 python,而某些方法需要元组作为其参数。虽然namedtuple创建的instance是tuple的子类,但是看来还是需要把它转成tuple。
有什么办法可以快速将namedtuple制作的tuple子类转换为tuple?谢谢!

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 回答