タグ

2008年2月17日のブックマーク (2件)

  • Pythonでコマンドライン引数を処理 - hikm's blog

    コマンドラインオプションのパーザgetoptを使う。 from getopt import getopt, GetoptError try: opts, args = getopt(argv[1:], 'ab:', ['help', 'size=']) except GetoptError, e: # ヘルプメッセージを出力して終了 usage() sys.exit(2) getoptの引数 getoptの第1引数は構文解析の対象になる引数リスト。基的にsys.arg[1:] を渡す。 第2引数は1文字のオプション名。オプションが引数をとる場合(-b 10 や -f data.txtなど)はオプション指定文字の後に「:」をつける。 上の例では、オプションbのみ値をとることが出来る。aとbの両方が値をとるようにするときは'a:b:'と指定すればよい。 第3引数は複数文字のオプション名(省略

    Pythonでコマンドライン引数を処理 - hikm's blog
  • 二分探索 - 元データ分析の会社で働いていた人の四方山話

    昨日の続きで二分探索。 こいつも相当簡単な探索。 探索対象(リスト)のある位置x(大概は真ん中)を見て、探したいものがxより大きければその後ろを、小さければその前を、といった具合に探索範囲を狭めながら探索をおこなっていく。 ただし、前提条件としてソートが完了しているものにしか対応しない。 ソートができていないと探索自体が破綻する。 なので線形探索より高速だが使える場面は限定される。 実装してみる。 ついでに線形探索との探索時間の比較をしてみた。 Pythonでの時間の測り方はまだよく分かっていないので今回使った方法が正しいのかは若干疑問。 またtimeitについて↓のあたりで調べておく。 http://morchin.sakura.ne.jp/effective_python/timeit.html それでは実験。 def Search(target, numList): for x in

    二分探索 - 元データ分析の会社で働いていた人の四方山話