タグ

ブックマーク / pashango-p.hatenadiary.org (5)

  • 高速数値計算ライブラリ「Numpy」覚書き - Pashango’s Blog

    Pythonで一番有名で普及しているライブラリと言っても過言ではない「Numpy」の覚書きです。かなり多機能な数値計算ライブラリで、内部はC言語で記述されているため超高速に動作します。 ベクトル ベクトルの長さ&正規化 import numpy a = numpy.array([[2,2]]) #ベクトルの長さ length = numpy.linalg.norm(a) #length=>2.8284271247461903 #ベクトルの正規化 a / numpy.linalg.norm(a) #=>array([[ 0.70710678, 0.70710678]]) 内積&外積 import numpy v1 = numpy.array((1,0,0)) v2 = numpy.array((0,1,0)) #内積 numpy.dot(v1,v2) #=> 0 #外積 numpy.cros

    高速数値計算ライブラリ「Numpy」覚書き - Pashango’s Blog
  • "sep".join()は気持ち悪くないよ! - Pashango’s Blog

    "sep".join(list) が気持ち悪い理由 そんなに Array.join がいいのか Pythonの','.join()がキモいと思ってた時代が僕にもありました Pythonの文字列連結(join)にまつわる議論 まとめと考察(2) "".join()が色んなところで話し合われているんですね。 眺めていると「気持ち悪い派」が多数派のようです、主な肯定派はid:methaneさんくらい? みんな気持ち悪いと思うのかぁ・・・ 逆に私は「よく考えてあるなぁ」と感心したんですが・・・ 私も"".join([])を見たときは「???」と思いましたよ、だって今まで見てきた言語とは逆なんですから。 ずっと「なんでだろう・・・?」と思っていたんですが、ある時ひらめきました。 そうか!左辺と右辺の対応をわかりやすくするためだったのか!! それに気づいた時はしびれましたね、同時期に勉強してたRuby

    "sep".join()は気持ち悪くないよ! - Pashango’s Blog
  • 既存のファイルリストをワイルドカードでフィルタする - Pashango’s Blog

    ドラッグアンドドロップで与えられたファイルリストを、ワイルドカードでフィルタしたい場合があります。 そういう場合はglobではなくfnmatchモジュールを使います、pythonではワイルドカードとは呼ばずに「Unix ファイル名のパターンマッチ」と呼ぶそうです。 >>> import fnmatch >>> >>> a = ["test.txt","test.py","test.png","foo.txt"] >>> #ファイルリストをフィルタリング >>> fnmatch.filter(a,"*.txt") ['test.txt', 'foo.txt'] >>> >>> #単一のファイルを判断 >>> fnmatch.fnmatch("test.txt", "*.txt") True >>> #大文字、小文字を判断する場合はfnmatchcase >>> fnmatch.fnmatch

    既存のファイルリストをワイルドカードでフィルタする - Pashango’s Blog
  • PythonでA*(A-Star)アルゴリズム - Pashango’s Blog

    今回はA*アルゴリズムをPythonでやってみます。 ゲームプログラマの間では、もはや常識となりつつある最短経路問題解決アルゴリズムです。 A*は、古典的手法である「ダイクストラ法」を改良したものです。 スタート地点からノードnを通ってゴールに辿り付くとき、最短距離をf(n)とすると、 f(n) = g(n) + h(n) とすることができます、g(n)は「スタートからノードnまでの最短距離」、h(n)は「ノードnからゴールまでの最短距離」です。 でも、最初から適切なg(n)とh(n)が判ってるなら苦労しませんよね。 だから、テキトーな予測値を使って、最短経路をある程度予測して効率的に経路探索をしてみようという事です。 テキトーな予測値を使った最短経路距離をf*(n)とすると f*(n) = g*(n) + h*(n) となります、f*(n)を求めるためにテキトーなg*(n)とh*(n)を

    PythonでA*(A-Star)アルゴリズム - Pashango’s Blog
  • はてな民に確率の問題を出してみよう - Pashango’s Blog

    こんにちは、今回は確率の話です。 以前、職場で余興として問題を出したのですが、ほぼ全員がこの問題を知りませんでした。 理系が多く集まる職場なので、意外にみんな知らないんだなぁと思ったのですが、今度はリテラシーの高い(と勝手に思っている)はてな民に問題を出したら、どうなるんだろうと純粋な好奇心が沸いてきました。 なお有名な問題ですので、答えを知っている方はあまりヒントを出さない方向で・・・ 問1 ティムはテレビのクイズ番組に出演し見事優勝をはたしました、優勝賞品の自動車をゲットするチャンスを得たのです。 司会者は言いました。 「ここにA、B、Cの3つのドアがあります。 1つのドアの後ろには自動車、それ以外の2つのドアの後ろにはヤギがいます。 ティムは1つのドアを選び、そのドアの中に自動車が入っていれば賞品をゲットできます。 もし、ヤギが入っていた場合はハズレです。 さぁティム、どのドアを選び

    はてな民に確率の問題を出してみよう - Pashango’s Blog
    Naruhodius
    Naruhodius 2009/08/03
    ほう
  • 1