Page 218 -
P. 218
dictionary data
It’s time to apply what you now know about Python’s dictionary to your code. Let’s continue to
concentrate on Sarah’s data for now. You were to strike out the code that you no longer needed
and replace it with new code that uses a dictionary to hold and process Sarah’s data.
def sanitize(time_string):
if '-' in time_string:
splitter = '-'
elif ':' in time_string:
splitter = ':'
else:
return(time_string)
(mins, secs) = time_string.split(splitter)
return(mins + '.' + secs)
def get_coach_data(filename):
try:
with open(filename) as f:
data = f.readline()
return(data.strip().split(','))
except IOError as ioerr:
print('File error: ' + str(ioerr)) You don’t need this
code anymore.
return(None)
sarah = get_coach_data('sarah2.txt')
(sarah_name, sarah_dob) = sarah.pop(0), sarah.pop(0)
print(sarah_name + "'s fastest times are: " +
Create an empty str(sorted(set([sanitize(t) for t in sarah]))[0:3]))
dictionary. sarah_data = {}
sarah_data[‘Name’] = sarah.pop(0) Populate the dictionary with the data by
sarah_data[‘DOB’] = sarah.pop(0) the dictionary keys..
associating the data from the file with
sarah_data[‘Times’] = sarah
print(sarah_data[‘Name’] + “’s fastest times are: “ +
str(sorted(set([sanitize(t) for t in sarah_data[‘Times’]]))[0:3]))
Refer to the dictionary when
processing the data.
182 Chapter 6