input: Write a function to explain the difference between a list and a tuple in Python. The function should return a string containing the main difference and some key characteristics of each.
  
  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."