Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
今天尝试匹配';使用python中的自定义日期列表设置日期_Python_Python 3.x_List_Datetime_Match - Fatal编程技术网

今天尝试匹配';使用python中的自定义日期列表设置日期

今天尝试匹配';使用python中的自定义日期列表设置日期,python,python-3.x,list,datetime,match,Python,Python 3.x,List,Datetime,Match,尝试将今天的日期与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().s

尝试将今天的日期与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")

假设您确实希望保留匹配/不匹配的结果,您可以在此处使用列表:

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”)
输出=[“匹配”如果x==日期,否则holid中x的“不匹配”]
打印(输出)

您正在循环使用
holid
,但在每次迭代中都会打印“匹配”。您的
i==date
上缺少
if
。如果i==date:(并相应地缩进它下面的行),请尝试使用
。还要注意,今天的日期不会出现在列表中。我的坏消息。我忘了写if语句。谢谢大家。