Ich bin neu in Python, und ich lese ein Code-Snippet von einem Ort. Es ist eine Implementierung des Zählens.defaultdict mit Standardwert 1?
Der Code ist wie folgt:
from collections import defaultdict
def sort_colors(A):
ht = {} # a hash map
ht = defaultdict(lambda:0, ht) # with default value 1
for i in A:
ht[i] += 1
ret = []
for k in [0, 1, 2]:
ret.extend([k]*ht[k])
return ret
Wie in den ersten beiden Zeilen der func, dann ist es
ht = {}
ht = defaultdict(lambda:0, ht)
Ich bin nicht ganz klar darüber initialization.Could Sie mich freundlich Figur helfen es aus? und auch, Sollen wir nur diese zwei Zeilen durch folgende ersetzen?
ht = defaultdict(int) # default value 0
so lange gibt, wie Sie aus den Sammlungen importieren, können auch nur einen 'Counter' verwenden. – Kevin
Der Standardwert gibt es nicht 1 ist, es ist 0. –
Try' ht = defaultdict (lambda : 1) # mit Standardwert 1' und löschen der vorangehende 'ht = {}', der nichts bewirkt, da Sie den Wert von 'ht' in der nächsten Zeile ändern. – martineau