分かりやすく、使いやすく。

リストから重複した値を削除する方法

スポンサーリンク

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) 
スポンサーリンク
スポンサーリンク