从日期范围中排除特定日期 - Python

Exclude specific dates from date range - Python

我试图从日期范围内排除特定日期,但没有得到有效输出,下面是代码。你能帮忙修一下吗

from datetime import timedelta, date

sdate = date(2020, 7, 1)
edate = date(2020, 7, 7)
delta = edate - sdate

toRemoveDate = [date(2020, 7, 6), date(2020, 7, 2)]

for i in range(delta.days + 1):
    day = sdate + timedelta(days=i)
    print(day)

    for j in range(len(toRemoveDate)):
        if day != toRemoveDate[j]:
            print(day)

谢谢, 阿南德

试试这个,

from datetime import timedelta, date

sdate = date(2020, 7, 1)
edate = date(2020, 7, 7)
delta = edate - sdate

toRemoveDate = [date(2020, 7, 6), date(2020, 7, 2)]

for i in range(delta.days + 1):
    day = sdate + timedelta(days=i)
    if day not in toRemoveDate: # <-- check if day not in list
        print(day)

试试 .drop()

from datetime import timedelta, date
import pandas as pd

sdate = date(2020, 7, 1)
edate = date(2020, 7, 7)
range = pd.date_range(start=str(sdate), end=str(edate))
toRemoveDate = [date(2020, 7, 6), date(2020, 7, 2)] 
days = range.drop(toRemoveDate)
print(days)