雷蒙德赫廷傑showed一個非常酷的方式集合類組合:子類和defaultdict
from collections import Counter, OrderedDict
class OrderedCounter(Counter, OrderedDict):
pass
# if pickle support is desired, see original post
我想要做的OrderedDict和defaultdict類似的東西。但是,當然,defaultdict有不同的__init__
簽名,所以它需要額外的工作。什麼是解決這個問題的最簡潔的方法?我使用Python 3.3。
我在這裏找到了一個很好的解決方案:https://stackoverflow.com/a/4127426/336527,但我想也許從defaultdict派生出來可能會讓這更簡單?
雖然我們的話題,可有人向我解釋如何OrderedDict例子實際上得到OrderedDict功能沒有任何明確的超級代表團到那個班?是否是因爲'Counter'中的'super'調用通過'OrderedDict'重新路由,而不是像他們通常那樣直接轉到'dict'?或者只是什麼? – 2012-03-31 01:02:58
@KarlKnechtel你的意思是'OrderedCounter',但是很好的問題。 – agf 2012-03-31 01:18:34
@呃,呃,確切地說。愚蠢的編輯超時...... :( – 2012-03-31 01:19:30