Я новичок в python, и я прочитал фрагмент кода из какого-то места. Это реализация сортировки.defaultdict со значением по умолчанию 1?
код, как показано ниже:
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
Как и в первых двух строках FUNC, это
ht = {}
ht = defaultdict(lambda:0, ht)
Я не совсем ясно, об этом initialization.Could вы любезно помочь мне фигуру это из? а также, мы просто заменим эти две строки следующим?
ht = defaultdict(int) # default value 0
пока вы импортируете из коллекций, может также просто использовать 'Counter'. – Kevin
значение по умолчанию есть не 1, это 0. –
Try' ХТ = defaultdict (лямбда : 1) # со значением по умолчанию 1' и удалить предыдущий 'ht = {}', который ничего не выполняет, поскольку вы изменяете значение 'ht' в следующей строке. – martineau