Để tăng một mục duy nhất trong collections.Counter, bạn phải thêm nó vào danh sách để sử dụng Counter.update
.Lớp truy cập Python: thêm hoặc tăng mục đơn
c = Counter()
for item in something:
for property in properties_of_interest:
if item.has_some_property: # pseudocode: more complex logic here
c.update([item.property])
elif item.has_some_other_property:
c.update([item.other_property])
# elif... etc
Một set
sử dụng .update
để thêm nhiều mặt hàng, và add
để thêm một duy nhất. Tại sao không Counter
hoạt động theo cùng một cách? Tôi có thể làm cho nó hoạt động tương tự (tức là loại bỏ việc phải đặt tài sản trong danh sách)? Hãy tưởng tượng một trường hợp bạn có một số đối tượng không xác định và bạn đang thử nhiều thứ khác nhau một cách nhanh chóng để tìm hiểu một số điều sơ bộ về chúng: hiệu suất và tỷ lệ không quan trọng, và hiểu sẽ làm cho cộng và trừ thời gian logic -trọng lượng.
Vì vậy, có gì sai với mã của bạn và 'Counter.update'? – Kasramvd
Tôi phải dán nó vào một danh sách giả mạo. Nó không phải là một việc lớn; Tôi chỉ tự hỏi nếu có một ý nghĩ đằng sau không có 'add'. – bahmait
Phương thức 'update' chấp nhận đối số aas có thể lặp lại và lặp lại được mong đợi là một chuỗi các phần tử, không phải là một chuỗi các cặp (khóa, giá trị). – Kasramvd