Tôi mới dùng python và tôi đọc một số đoạn mã từ một số nơi. Đó là việc thực hiện đếm đếm.defaultdict với giá trị mặc định 1?
Mã này là như sau:
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
Như trong hai dòng đầu tiên của func, nó
ht = {}
ht = defaultdict(lambda:0, ht)
Tôi không hoàn toàn rõ ràng về vấn đề này initialization.Could bạn vui lòng giúp tôi hình nó ra? và cũng có thể, chúng ta chỉ cần thay thế hai dòng sau đây?
ht = defaultdict(int) # default value 0
chừng nào bạn đang nhập khẩu từ các bộ sưu tập, có thể cũng chỉ cần sử dụng một 'Counter'. – Kevin
giá trị mặc định không có 1, đó là 0. –
Hãy thử' ht = defaultdict (lambda : 1) # với giá trị mặc định 1' và xóa 'ht = {}' trước đó không thực hiện được gì vì bạn thay đổi giá trị 'ht' trong dòng tiếp theo. – martineau