set
использует .update
для добавления нескольких элементов и .add
для добавления одного. Почему не collections.Counter
работает так же?
Чтобы увеличить один элемент Counter
с помощью Counter.update
, вы должны добавить его в список:
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
Могу ли я заставить Counter
действовать как set
(т.е. избавиться от необходимости помещать свойство в список)?
Edit: Use Case: представьте себе случай, когда у вас есть несколько неизвестных объектов, и вы быстро пытаетесь найти разные предварительные сведения о них: производительность и масштабирование не имеют значения, а понимание может привести к сложению и вычитанию логики. кропотливый.