一个namedtuple可以在其字段中包含哪些数据类型?

问题描述:

我看过这里的namedtuples这里的Python文档,我似乎无法弄清楚它可以采用哪些法律数据类型。或者,这对我来说可能并不明显。一个namedtuple可以在其字段中包含哪些数据类型?

可以肯定地说,它可以采取任何数据类型(例如int,float,string,tuple,list,dict等)吗?是否有任何数据类型不能插入到namedtuple

这个问题来自于我需要一个具有2个列表的namedtuple。基本上我想要做的是这样的事情是这样的:

from Collections import namedtuple 

list1 = [23,45,12,67] 
list2 = [76,34,56,23] 

TwoLists = namedtuple("TwoLists", ['x','y']) 
tulist = TwoLists(x=list1, y=list2) 

type(tulist) 
<class '__main__.TwoLists'> 

type(tulist.x) 
<class 'list'> 

print(tulist.x) 
[23,45,12,67] 

print(tulist.y) 
[76,34,56,23] 

而这似乎至少与清单工作。

一些快速谷歌搜索没有导致任何例子,这就是为什么我已经添加了一个代码摘录(从python的交互模式)任何其他谁试图插入名单到一个namedtuple,需要一个例子。

如果未明确指定,则任意 Python对象有效。

+1

一个人怎么会明确指定'n​​amedtuple'领域的数据类型? – Palimondo

这是我尝试基于文档时回答:

“命名元组分配意味着每一个位置的元组,并允许更易读,自我记录代码,它们可以被用来只要使用普通的元组。 ,并且他们添加了按名称而不是位置索引访问字段的功能。“从

“的元组的项目是任意Python对象”从 https://docs.python.org/3/reference/datamodel.html#objects-values-and-types