I'm trying to return all the dates that match with the traffic intensity in the function below but am getting all the elements of only the first tuple as a list instead of all tuples that match.
def traffic_intensity(count):
"""Returns string indicating intensity level given by number of
vehicles"""
level_name = ""
if(count < 5000):
level_name = "Very Low"
elif(count >= 5000 and count < 10000):
level_name = "Low"
elif(count >= 10000 and count < 18000):
level_name = "Moderate"
elif(count >= 18000):
level_name = "High"
return(level_name)
def dates_with_intensity(vehicle_records, intensity):
"""Returns number of days with the given traffic intensity level"""
new_list = []
for number in vehicle_records:
date_count = number[0]
number_count = number[1]
traffic = traffic_intensity(number_count)
if traffic == intensity:
new_list += date_count
return new_list
For the test data
vehicle_records = [('2010-01-01',1),
('2010-01-02',2),
('2010-01-03',3)]
days = dates_with_intensity(vehicle_records, 'Very Low')
print(days)
I am supposed to be getting
['2010-01-01', '2010-01-02', '2010-01-03']
but instead am getting
['2', '0', '1', '0', '-', '0', '1', '-', '0', '1']
Can someone please help me with this?