Py学习  »  Python

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

Nithin Reddy • 3 年前 • 1234 次点击  

尝试将今天的日期与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
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/133597
 
1234 次点击  
文章 [ 2 ]  |  最新文章 3 年前
Yuriy Glukhov
Reply   •   1 楼
Yuriy Glukhov    4 年前

原因是因为末尾没有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")
Tim Biegeleisen
Reply   •   2 楼
Tim Biegeleisen    4 年前

假设你真的想保留匹配/不匹配的结果,你可以在这里使用列表:

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)