input: Write a function to explain the difference between a list and a tuple in Python. The function should return a string that clearly states the main differences between these two types of data structures in Python, including their mutability, how they are defined, and common use cases for each.
  def explain_difference():
      return "The difference between a list and a tuple in Python is that a list is mutable, meaning its contents can be changed, while a tuple is immutable, meaning its contents cannot be changed. A list has square brackets around it, while a tuple has parentheses around it. Lists are used when the data needs to be changed, while tuples are used when the data is fixed and cannot be changed."
  
  assert explain_difference() == "The difference between a list and a tuple in Python is that a list is mutable, meaning its contents can be changed, while a tuple is immutable, meaning its contents cannot be changed. A list has square brackets around it, while a tuple has parentheses around it. Lists are used when the data needs to be changed, while tuples are used when the data is fixed and cannot be changed."
output: def explain_difference():
      return "The difference between a list and a tuple in Python is that a list is mutable, meaning its contents can be changed, while a tuple is immutable, meaning its contents cannot be changed. A list has square brackets around it, while a tuple has parentheses around it. Lists are used when the data needs to be changed, while tuples are used when the data is fixed and cannot be changed."