A dictionary in Python is a built-in data type that allows to store values in key:value pairs. Keys are unique within a dictionary while values may not be. It provides a way to map pieces of related information. Dictionaries are mutable, meaning that they can be changed after they are created. They are also unordered, meaning the items do not have a defined order, unlike lists or tuples.