
list.sort()で、ソート(並び替え)を実施した場合は、変数(下記の場合f_lists2)自体がソートされた状態に変更される。
for i in sortedの場合は、ソート(sorted)された状態状態のリストから、アイテムを取り出しlstという新しいリストに代入して同じ結果を得ているが、f_lists2という変数自体は変更されていない。
In [1]: f_list2 = ['apple', 'banana', 'apple', 'kiwi', 'apple', 'orange', 'peach']
In [2]: lst = []
In [3]: for i in sorted(f_list2): #f_lists2をソートした状態でiに代入している
...: lst.append(i)
...: print(lst)
['apple', 'apple', 'apple', 'banana', 'kiwi', 'orange', 'peach']
In [4]: f_list2
Out[4]: ['apple', 'banana', 'apple', 'kiwi', 'apple', 'orange', 'peach']
In [5]: f_list2.sort()
In [6]: f_list2 #f_lists2自体がソートされている
Out[6]: ['apple', 'apple', 'apple', 'banana', 'kiwi', 'orange', 'peach']