Files, Exception handling, Dictionaries and hashing

When storing data, it is possible to use either lists or dictionaries. However, when searching for items,

finding items in a list can be much slower than finding them in a dictionary. Explain why this is so, including

an explaining how dictionaries achieve an almost constant lookup time. Conversely, what useful

properties do lists have that dictionaries do not?