2016-02-26 59 views
1

我看過這裏的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,需要一個例子。

回答

0

如果未明確指定,則任意 Python對象有效。

+1

一個人怎麼會明確指定'n​​amedtuple'領域的數據類型? – Palimondo

1

這是我嘗試基於文檔時回答:

「命名元組分配意味着每一個位置的元組,並允許更易讀,自我記錄代碼,它們可以被用來只要使用普通的元組。 ,並且他們添加了按名稱而不是位置索引訪問字段的功能。「從

「的元組的項目是任意Python對象」從 https://docs.python.org/3/reference/datamodel.html#objects-values-and-types

相關問題