1. ホーム
  2. python

[解決済み] リストセットの作り方

2022-03-02 11:47:49

質問

このようなリストがあります。

i = [[1, 2, 3], [2, 4, 5], [1, 2, 3], [2, 4, 5]]

私は、quot;unique" を含むリストを(その要素に基づいて)以下のように取得したい。

o = [[1, 2, 3], [2, 4, 5]]

を使うことはできません。 set() リストにはハッシュ化できない要素があるためです。その代わり、こうしています。

o = []
for e in i:
  if e not in o:
    o.append(e)

もっと簡単な方法はないのでしょうか?

どのように解決するのですか?

タプルの集合は作れますが、リストの集合はハッシュ化できない要素があるため、作れません。

>>> l = [[1, 2, 3], [2, 4, 5], [1, 2, 3], [2, 4, 5]]
>>> set(tuple(i) for i in l)
{(1, 2, 3), (2, 4, 5)}