Main differences between List and Dictionary data types in Python are as follows:
1. Syntax: In a List, we store objects in a sequence. In a Dictionary, we store objects in key-value pairs.
2. Reference: In List, we access objects by index number. It starts at 0 indexes. In a Dictionary we access objects by key specified at the time of Dictionary creation.
3. Ordering: In a List, objects are stored in an ordered sequence. In a Dictionary objects are not stored in an ordered sequence.
4.Hashing: In a Dictionary, keys have to be hashable. In a List, there is no need for hashing.