尝试将今天的日期与 python 中的自定义日期列表相匹配

Trying to match today's date with list of custom dates in python

正在尝试将今天的日期与 python

中的自定义日期列表相匹配

密码是:

holid = ['2021-01-26', '2021-03-11', '2021-03-29', '2021-04-02', '2021-04-14', '2021-04-21',
 '2021-05-13', '2021-07-21', '2021-08-19', '2021-09-10', '2021-10-15', '2021-11-05','2021-11-19']

date = datetime.today().strftime('%Y-%m-%d')
date

'2021-06-06'

for i in holid:
    i == date
    print("Matched")

它返回了错误的输出:

Matched
Matched
Matched
Matched
Matched
Matched
Matched
Matched
Matched
Matched
Matched
Matched
Matched

原因是因为最后没有if语句所以总是打印匹配,用if语句解决这个问题:

from datetime import datetime

holid = ['2021-01-26', '2021-06-06', '2021-03-11', '2021-03-29', '2021-04-02', '2021-04-14', '2021-04-21',
'2021-05-13', '2021-07-21', '2021-08-19', '2021-09-10', '2021-10-15', '2021-11-05','2021-11-19']

date = datetime.today().strftime('%Y-%m-%d')
date

'2021-06-06'

for i in holid:
    if i == date:
        print("Matched")
    else:
        print("Not Matched")

假设您确实想要保留 matched/not 匹配的结果,您可以在此处使用列表理解:

holid = ['2021-01-26', '2021-03-11', '2021-03-29', '2021-04-02', '2021-04-14', '2021-04-21', '2021-05-13', '2021-07-21', '2021-08-19', '2021-09-10', '2021-10-15', '2021-11-05','2021-11-19']
date = datetime.today().strftime('%Y-%m-%d')
output = ["Matched" if x == date else "Not Matched" for x in holid]
print(output)