33
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

Pythonで2次元配列の重複行を一発で削除する

したいこと

重複する要素を持つ2次元配列から、ダブりを削除したい。
つまり、これを、、、、

[[0, 0],
[1, 1],
[1, 0],
[1, 1],
[0, 1],
[0, 0]]

こうしたい!

[[0, 1],
[1, 0],
[0, 0],
[1, 1]]

やりかた

  1. 各要素をtupleに変換
  2. setで重複を削除
  3. listに戻す

※ポイントはtupleに変換するとこ。list型だとsetが使えない。

>>> arr = [[0,0], [1,1], [1,0], [1,1], [0,1], [0,0]]
>>> arr = list(map(list, set(map(tuple, arr))))
>>> arr
[[0, 1], [1, 0], [0, 0], [1, 1]]

なにか、ほかにいい方法あれば教えてください〜

お世話になったページ

集合型で2次元リスト中の重複した行を削除する

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
33
Help us understand the problem. What are the problem?