计数方式>日期

2024-04-26 20:54:39 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在计数中执行>;表达式?例如:

# equivalence
l = [1,2,2,3,4]
l.count(2)
2

# greater than date
l = [datetime.datetime(2014, 1, 1, 0, 0), datetime.datetime(2015, 1, 1, 0, 0)]
l.count('date is greater than '2014-02-01')
1

Tags: gtdatetimedateis表达式count计数than
2条回答

布尔值(和表达式)实际上有一个01的数值,因此您可以将它们相加:

dates = [datetime.datetime(2014, 1, 31, 0, 0),
         datetime.datetime(2014, 2,  1, 0, 0),
         datetime.datetime(2014, 2,  2, 0, 0)]

cutoff = datetime.datetime(2014, 2, 1, 0, 0)
print(sum(d > cutoff for d in dates))  #  > 1
>>> import datetime
>>> l = [datetime.datetime(2014, 1, 1, 0, 0), datetime.datetime(2015, 1, 1, 0, 0)]
>>> sum(1 for d in l if d > datetime.datetime(2014, 2, 1, 0, 0))
1

例如表达式:

l.count(2)

与以下内容相同:

sum(1 for v in l if v == 2)

但是为了满足您的要求,我们需要用>替换==,从而得到上面给出的解决方案。你知道吗

相关问题 更多 >