是否有Python的defaultdict
的.NET模擬器?我發現寫短代碼很有用,例如。計數頻率:Python的defaultdict的模擬?
>>> words = "to be or not to be".split()
>>> print words
['to', 'be', 'or', 'not', 'to', 'be']
>>> from collections import defaultdict
>>> frequencies = defaultdict(int)
>>> for word in words:
... frequencies[word] += 1
...
>>> print frequencies
defaultdict(<type 'int'>, {'not': 1, 'to': 2, 'or': 1, 'be': 2})
所以在C#中最好我可以這樣寫:
var frequencies = new DefaultDictionary<string,int>(() => 0);
foreach(string word in words)
{
frequencies[word] += 1
}
什麼是'defaultdict'做?我不熟悉python。編輯:這只是一個字典,它有一個鍵的默認值。你可以繼承'Dictionary'並實現這個功能。 – Romoku 2013-03-25 19:02:29
Jon Skeet的答案可能有所幫助:http://stackoverflow.com/a/2601501/1786606。 – Vladimir 2013-03-25 19:19:11