リストから重複した値を削除する方法
スポンサーリンク
list を set に変換し、重複した値を削除した後 list に戻すことで重複を削除できる。但し、元の並び順は維持されない。
python(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 | old_list = [10, 1, 5, 9, 9, 5, 3, 7, 7] # [10, 1, 5, 9, 9, 5, 3, 7, 7] print(old_list) # set にすると重複が削除される。それを list に戻す。 new_list = list(set(old_list)) # [1, 3, 5, 7, 9, 10] ←元の並び順は維持されない。 print(new_list) |
sorted 関数を使用することで、元の list と同じ並び順の list を作成できる。
python(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 | old_list = [10, 1, 5, 9, 9, 5, 3, 7, 7] # [10, 1, 5, 9, 9, 5, 3, 7, 7] print(old_list) # sorted で元のリストの並び順にする。 new_list = sorted(set(old_list), key=old_list.index) # [10, 1, 5, 9, 3, 7] ←元の並び順が維持される。 print(new_list) |
スポンサーリンク