は例えば、私が持っているリスト:サブリストを含むリストを、対応するサブセットを持つセットに変換する方法はありますか?
l = [["apple","banana","pear"],["pen","apple"]]
をそして私は、私はどのようなコマンドを使用する必要があります
{{"apple","banana","pear"},{"pen","apple"}}
あるセット、に変換したいですか?この1
は例えば、私が持っているリスト:サブリストを含むリストを、対応するサブセットを持つセットに変換する方法はありますか?
l = [["apple","banana","pear"],["pen","apple"]]
をそして私は、私はどのようなコマンドを使用する必要があります
{{"apple","banana","pear"},{"pen","apple"}}
あるセット、に変換したいですか?この1
:タイプset
が必要な場合、それはできませんので
l = set(set(x) for x in l)
セットが非ハッシュです。しかし、変更不可能なセット実装は、__hash__
メソッドを提供する限り、ハッシュ可能である可能性があります。
これは不可能です。なぜなら、セットはハッシュできないオブジェクトだからです。つまり、セットをセットに入れることはできません。ただしリストのリストをlist(map(set,l))
とセットのリストにすることはできます。
はうまくいきます –
あなたがしようとしていることを得るのに最も近いものです。一度設定されたタプルのセットを作成することです。セットはハッシュ可能ではないので、セットはありません。
l=set([tuple(set(sublist)) for sublist in l])
セットはハッシュ可能ではありませんが、frozenset型は以下のとおりです。
l = set(frozenset(x) for x in l)
セットは非ハッシュ型であるので、これは動作しません。この質問はそれより少し難解です。 – Philliproso
リストにサブリストがあるので、このコマンドは機能しません。エラーを返します:TypeError:unhashable type: 'set'。それを行う別の方法がありますか? –
@Philliprosoあなたは間違いなく私はこれを忘れました。 –