Czy istnieje .NET analogowy z defaultdict
Pythona? Uważam, że warto napisać krótki kod, np. Zliczanie częstotliwości:Analogicznie do defaultdict Pythona?
>>> 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})
Więc najlepiej w C# mógłbym napisać:
var frequencies = new DefaultDictionary<string,int>(() => 0);
foreach(string word in words)
{
frequencies[word] += 1
}
Co oznacza 'defaultdict' zrobić ? Nie znam się na pythonie. Edycja: to tylko słownik, który ma domyślną wartość dla kluczy. Możesz podklasować 'Słownik' i zaimplementować funkcjonalność. – Romoku
Odpowiedź Jona Skeeta może pomóc: http://stackoverflow.com/a/2601501/1786606. – Vladimir