如何将namedtuple转换为元组

时间:2019-04-11 13:13:29

标签: python tuples namedtuple

如何进行与this相反的操作?

我有一个通过迭代熊猫数据框而构建的namedtuple列表:

list = []
for currRow in dataframe.itertuples():
    list.append(currRow)

如何将namedtuple列表转换为tuple列表?请注意,itertuples()返回namedtuple。

3 个答案:

答案 0 :(得分:4)

您只需将其放入tuple()构造函数中即可:

>>> from collections import namedtuple

>>> foo = namedtuple('foo', ('bar', 'baz'))
>>> nt = foo(1,2)
>>> nt
foo(bar=1, baz=2)
>>> tuple(nt)
(1, 2)

答案 1 :(得分:2)

首先,不要以内置函数命名变量。

要回答您的问题,您只需使用tuple构造函数即可;假设您的来源list被命名为l

l_tuples = [tuple(t) for t in l]

答案 2 :(得分:1)

您可以执行此操作。只需将namedtuple中的元组构造为param。

>>> X = namedtuple('X', 'y')
>>> x1 = X(1)
>>> x2 = X(2)
>>> x3 = X(3)
>>> x_list = [x1, x2, x3]
>>> x_tuples = [tuple(i) for i in x_list]
>>> x_tuples
[(1,), (2,), (3,)]
>>>