str_tuple = "abcd",
a = Counter()
a.update(str_tuple)
但a[('abcd',)] == 0
因为Counter
计算了'abcd'
字符串,而不是元组。我需要数一数元组。
答案 0 :(得分:1)
Counter.update()
需要计算序列。如果需要对元组进行计数,请在将该值传递给Counter.update()
方法之前将其放入序列中:
a.update([str_tuple])
或使用:
a[str_tuple] += 1
将一个元组的计数递增一。
演示:
>>> from collections import Counter
>>> str_tuple = "abcd",
>>> a = Counter()
>>> a.update([str_tuple])
>>> a
Counter({('abcd',): 1})
>>> a = Counter()
>>> a[str_tuple] += 1
>>> a
Counter({('abcd',): 1})