В Python, когда использовать словарь, список или набор?

Когда я должен использовать словарь, список или набор?

Существуют ли сценарии, которые больше подходят для каждого типа данных?