为什么添加两个具有 timedelta 值的计数器会引发 TypeError?
Why does adding two Counters with timedelta values raise a TypeError?
我正在尝试添加两个包含时间增量的计数器。添加计数器会引发以下问题:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/Cellar/python/3.7.2/Frameworks/Python.framework/Versions/3.7/lib/python3.7/collections/__init__.py", line 734, in __add__
if newcount > 0:
TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
这会引发异常:
from collections import Counter
from datetime import timedelta
a = Counter(time=timedelta(microseconds=167242))
a + a
然而这不是:
b = timedelta(microseconds=167242)
b + b
有几件事妨碍了:
Counter
是用来做离散计数的,也就是数值都是整数。
timedeltas
没有定义与零比较的含义,尽管他们可以定义。
看来您需要创建自己的 Counter-like 结构。
我正在尝试添加两个包含时间增量的计数器。添加计数器会引发以下问题:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/Cellar/python/3.7.2/Frameworks/Python.framework/Versions/3.7/lib/python3.7/collections/__init__.py", line 734, in __add__
if newcount > 0:
TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
这会引发异常:
from collections import Counter
from datetime import timedelta
a = Counter(time=timedelta(microseconds=167242))
a + a
然而这不是:
b = timedelta(microseconds=167242)
b + b
有几件事妨碍了:
Counter
是用来做离散计数的,也就是数值都是整数。timedeltas
没有定义与零比较的含义,尽管他们可以定义。
看来您需要创建自己的 Counter-like 结构。