If I can rephrase your question, what you want is a dictionary with the years as keys and an array for each year containing a list of values associated with that year, right? Here’s how I’d do it:
years_dict = dict() for line in list: if line[0] in years_dict: # append the new number to the existing array at this slot years_dict[line[0]].append(line[1]) else: # create a new array in this slot years_dict[line[0]] = [line[1]]
What you should end up with in years_dict is a dictionary that looks like the following:
{ "2010": [2], "2009": [4,7], "1989": [8] }
In general, it’s poor programming practice to create “parallel arrays”, where items are implicitly associated with each other by having the same index rather than being proper children of a container that encompasses them both.