「ハッシュ不可能なタイプ」の意味は何ですか? Pythonでエラーが発生しましたか?


ベストアンサー

まず、ハッシュ可能と不可能なものを理解しましょう。簡単に言うと、値を変更できないアイテムをハッシュ可能と呼び、値を変更できるオブジェクトをハッシュ不可能と呼びます。

たとえば、Pythonでは、すべての不変オブジェクトをハッシュ可能と呼び、可変オブジェクトと呼びます。ハッシュ不可能と呼ぶことができます。このようなエラーが発生する可能性のある例と、発生する理由を考えてみましょう。

たとえば、辞書のキーとしてリストを使用する場合、これは実行できず、エラーが発生します TypeError:unhashabletype。

これは、リストをハッシュできないため、リストをハッシュ引数として使用しようとしているためです。これはつまり、ハッシュできないオブジェクトをハッシュしようとすると、このエラーが発生します。この問題を解決する標準的な方法は、リストをタプルにキャストすることです。

タプルは不変であるため、ハッシュ可能です。動作します。

回答

dict = {a:1}

ウィンドウのpythoncmdでハッシュ不可能なタイプエラーが表示されます。

pythonでのハッシュ可能な意味は、値が決して変更できないことです。ハッシュ不可能なのはHashableの反対です。辞書では、値はいつでも更新できますが、Pythonインタープリターがそのデータタイプを理解している場合です。 = 1)aは文字列データタイプですが、ここでは、記述されている文字列データタイプのルールに従いませんe文字を引用符で囲みます。したがって、インタプリタは、このデータ型の値はハッシュ化できない(変更可能)が、データ型は誤解されていると述べました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です