Sono nuovo in Python e ho letto alcuni frammenti di codice da qualche parte. È un'implementazione del tipo di conteggio.defaultdict con valore predefinito 1?
Il codice è il seguente:
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
Come nelle prime due righe del func, è
ht = {}
ht = defaultdict(lambda:0, ht)
io non sono del tutto chiaro su questo initialization.Could gentilmente aiutarmi figura fuori? e inoltre, sostituiremo semplicemente queste due linee con il seguente?
ht = defaultdict(int) # default value 0
finché si sta importando da collezioni, può anche semplicemente usare un 'Counter'. – Kevin
Il valore di default non v'è 1, è 0. –
Prova' ht = defaultdict (lambda : 1) # con valore predefinito 1' ed elimina il precedente 'ht = {}' che non realizza nulla dal momento che cambiate il valore di 'ht' nella riga successiva. – martineau