ナカナカピエロ おきらくごくらく

写真付きで日記や趣味を書くならgooブログ

Pythonのimmutableとhashable混乱

2019-03-06 20:19:04 | 日記
Pythonのimmutableとhashable混乱
 
朝5時起床。今日は水曜日。雨降ってたかな?
 
間に合わなかったので、朝食は本厚木のカフェでモーニング。
 
朝、メールチェックしたら、おやじ(元上司で今無職)からメールが来ていた。
 
Meが送ったメールに対して
---------
ハッシュ(一致不一致)またはB木(範囲)以外のアルゴリズムを使う
ビッグデータ処理なんてないのになぁ、
(最初の1回はO(n)でハッシュまたは、およびB木を作るが、それ以降はO(1))
根本的なこと知らないで、pythonでも機械学習でもないでしょ!
という印象です。
---------
 
という手厳しいコメントをもらい、ちょっと落ち込んだので、今日は一日中
 
immutableとhashableについて、調べまくりました。
 
以下、immutableとhashableの違いについての参考記事です。
 
 
Meの結論としては、以下になります。
----------
turpleのimmutableは、実はmutableなリストを要素に持つこともできる。
その場合は、辞書のキーにはできない。
辞書のキーは、hashableでなければならない。
hashableの前提としてハッシュ値がimmutableでなければならないが、immutableなオブジェクトが必ずしも
hashableであるとは限らない。
(Pythonのimmutableはちょっと中途半端な概念。しかも相互の定義に相互を参照していて、撞着を感じる。)
そしてhashable(__hash__を定義する)でmutableなオブジェクトを作成することもできるが、
それは言語仕様として禁じられている。
詳細は、下記ドキュメント参照のこと。
 
これをPythonデータサイエンス講座二日目の最初に補講として説明しようと思う。
 
やっぱり集中して、Pythonデータサイエンス講座の二日目、三日目の準備はしないといけないなと感じた。
 
ゼロタッチコンフィグの作業を片手間に手を付けている場合ではないなと。
 
とりあえず今日は定時に帰宅。
 
【今日の読書】
Fluent Python ―Pythonicな思考とコーディング手法   Luciano Ramalho著(P.322/787読了)
データ分析ツールJupyter入門   掌田津耶乃著(P.352/438読了)
線形代数セミナー: 射影,特異値分解,一般逆行列   金谷健一著(P.35/141読了)
 
早々、寝る。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

3月5日(火)のつぶやき

2019-03-06 04:06:55 | 日記
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする