Python - Using dictionaries to simulate flexible lists: Integer keys


By using integer keys, dictionaries can emulate lists that seem to grow on offset assignment:


D = {} 
D[99] = 'test' #   w w  w  . ja  va 2 s. c o  m
print( D[99] )
print( D )


Here, it looks as if D is a 100-item list, but it's really a dictionary with a single entry.

The value of the key 99 is the string 'test'.

You can access this structure with offsets much like a list, catching nonexistent keys with get or in tests if required.

You don't have to allocate space for all the positions.

You might employ integer keys in our movie database's code to avoid quoting the year.


table = {1975: 'Database', 
         1979: 'Json',              # Keys are integers, not strings 
         1983: 'The Web'} 
print( table[1975] )
print( list(table.items()) )


Related Topic