Reputation: 875
I have a nested list like this:
nl = [['a', datetime.datetime(2020, 2, 7, 0, 0)],
['b', datetime.datetime(2020, 2, 7, 0, 0)],
['c', datetime.datetime(2020, 2, 5, 0, 0)],
['d', datetime.datetime(2020, 2, 4, 0, 0)]
And a single date like this:
date_today = datetime.date(2020, 2, 6)
I want to remove all sublists which contain an older date than date_today.
Like this:
date_l = []
for line in nl:
if line[1] > date_today:
date_l.append[line]
However I am getting the error:
TypeError: 'datetime.datetime' object is not iterable
How can I solve this?
Upvotes: 0
Views: 859
Reputation: 1316
Use below code
nl = [['a', datetime.datetime(2020, 2, 7, 0, 0)],
['b', datetime.datetime(2020, 2, 7, 0, 0)],
['c', datetime.datetime(2020, 2, 5, 0, 0)],
['d', datetime.datetime(2020, 2, 4, 0, 0)]]
date_today = datetime.datetime(2020, 2, 6,0,0)
date_l = []
for line in nl:
if line[1] > date_today:
date_l.append(line)
print(date_l)
Result : [['a', datetime.datetime(2020, 2, 7, 0, 0)], ['b', datetime.datetime(2020, 2, 7, 0, 0)]]
Upvotes: 1