如何将元组分配给namedtuple?

2024-10-01 11:41:55 发布

您现在位置:Python中文网/ 问答频道 /正文

一个简单的问题:我有一个这样的命名元组

RowSource = namedtuple("RowSource","parcel_id str_number pre_direct prefix street_name ...")

总共有16个名字。我有一个长度为16的元组,我想分配给命名的元组

^{pr2}$

最简单的方法是什么?我是说,我不会去做t[0],t[1]等等


Tags: nameidstreetnumberprefix名字namedtuplepre
2条回答

使用*args语法将t中的每个项目作为单独的参数应用:

RowSource(*t)

或者,使用^{} class method

^{pr2}$

后者有一个稍微有用的TypeError异常消息:

>>> from collections import namedtuple
>>> SampleTuple = namedtuple('Sample', 'foo bar baz')
>>> SampleTuple(1, 2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: __new__() takes exactly 4 arguments (3 given)
>>> SampleTuple._make((1, 2))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 17, in _make
TypeError: Expected 3 arguments, got 2

当您清楚地传递了2个文本时,__new__() takes exactly 4 arguments (3 given)文本将一些较新的Python用户拒之门外,namedtuple_make()类方法在这里的信息量稍大一些。在

最简单的方法是:

RowSource(*t)

相关问题 更多 >