我想創建一個有序字典,其中List
作爲值類型。有序詞典以數值列表
我試圖調用此方法:
ordered = collections.OrderedDict(list)
,但我得到的錯誤:
TypeError: 'type' object is not iterable
是否有任何其他的數據結構,我可以用一個有序字典?
在程序的後面我需要獲取插入的第一個鍵/值對;這就是爲什麼我需要訂購清單。之後點順序並不重要。
我想創建一個有序字典,其中List
作爲值類型。有序詞典以數值列表
我試圖調用此方法:
ordered = collections.OrderedDict(list)
,但我得到的錯誤:
TypeError: 'type' object is not iterable
是否有任何其他的數據結構,我可以用一個有序字典?
在程序的後面我需要獲取插入的第一個鍵/值對;這就是爲什麼我需要訂購清單。之後點順序並不重要。
Python是動態類型的。您無需事先指定值類型,只需在需要時插入該類型的對象即可。
例如:
ordered = collections.OrderedDict()
ordered[123] = [1,2,3]
您可以與next(ordered.iteritems())
(Python的2)或next(ordered.items())
(Python的3)得到的第一個插入的鍵/值。
我可以使用ordered.items()[0]嗎? – user3264659 2014-09-22 00:13:42
@ user3264659只有在Python 2中,對於大型字典來說它會比較慢。 – interjay 2014-09-22 08:36:12
您對'defaultdict'與OrderedDict'一起使用的方式感到困惑。你不會給「OrderedDict」一個工廠函數,你會像構造一個普通字典一樣構造一個OrderedDict,但是插入順序被保留。 – dawg 2014-09-21 16:53:17
我不確定這是否是混亂。看起來更像是OP認爲給OrderedDict構造函數的'list'就像是一個類型註釋,聲明瞭值的類型。我不認爲OP意味着'list'作爲被調用的構造函數或類似的東西。 – ely 2014-09-21 16:55:13