Explain the difference between a list and a generator in Python, and when you would use each to handle large financial datasets.