The sort() method sorts a list in ascending order by default and modifies the original list: my_list.sort().
sorted() returns a new sorted list without changing the original: sorted_list = sorted(my_list).
Add reverse=True to sort() or sorted(): my_list.sort(reverse=True) or sorted(my_list, reverse=True).
Use the key parameter to define custom sorting logic. Example: my_list.sort(key=len) sorts by string length.
For lists of tuples/dictionaries, use key to sort by specific elements: sorted(data, key=lambda x: x[1]) for tuple second elements.
Prefer sorted() if you need to retain the original list order while creating a sorted copy.