Creating a dictionary from a .txt file

C.T. swilks06 at gmail.com
Sun Mar 31 18:52:50 CEST 2013


On Sunday, March 31, 2013 12:20:25 PM UTC-4, zipher wrote:
> Every line is now an element in list d. The question I have now is how can I make a dictionary out of the list d with the car manufacturer as the key and a tuple containing the year and the model should be the key's value. Here is a sample of what list d looks like:
> 
> 
> 
> 
> ['1899 Horsey Horseless', '1909 Ford Model T', '1911 Overland OctoAuto', '2003 Hummer H2', '2004 Chevy SSR']
> 
> 
> 
> Any help would be appreciated!
> 
> 
> 
> 
> As long as your data is consistently ordered, just use list indexing.  d[2] is your key, and (d[1],d[3]) the key's value.
> 
> 
> 
> Mark
> Tacoma, Washington


Thank you, Mark! My problem is the data isn't consistently ordered. I can use slicing and indexing to put the year into a tuple, but because a car manufacturer could have two names (ie, Aston Martin) or a car model could have two names(ie, Iron Duke), its harder to use slicing and indexing for those two.  I've added the following, but the output is still not what I need it to be.


t={}
for i in d :
    t[d[d.index(i)][5:]]= tuple(d[d.index(i)][:4])

print (t)

The output looks something like this:

{'Ford Model T': ('1', '9', '0', '9'), 'Mosler Consulier GTP': ('1', '9', '8', '5'), 'Scripps-Booth Bi-Autogo': ('1', '9', '1', '3'), 'Morgan Plus 8 Propane': ('1', '9', '7', '5'), 'Fiat Multipla': ('1', '9', '9', '8'), 'Ford Pinto': ('1', '9', '7', '1'), 'Triumph Stag': ('1', '9', '7', '0'), 'BMW 7-series': ('2', '0', '0', '2')}


Here the key is the car manufacturer and car model and the value is a tuple containing the year separated by a comma.( Not sure why that is ?)



More information about the Python-list mailing list