タグ

ブックマーク / kk6.hateblo.jp (4)

  • シェル操作課題をPythonでやってみた - PYTHONIC BOOM BOOM HEAD

    はてブのマイホットエントリーを眺めてたらこんなものを見つけた。 シェル操作課題 (cut, sort, uniq などで集計を行う) 設問編 - Yamashiro0217の日記 awkとか全然知らないから勉強になるかなと思って覗いてみたんだけど… いっそpythonのワンライナーで実行したらカッコイイと思うw やりましょう Python3.2でやってみたよ 問1 このファイルを表示しろ $ python3 -c "import functools,operator;print(functools.reduce(operator.__add__, (open('hoge.csv','r').readlines())))" server1,1343363124,30,/video.php server2,1343363110,20,/profile.php server3,134336311

    シェル操作課題をPythonでやってみた - PYTHONIC BOOM BOOM HEAD
    sucrose
    sucrose 2012/07/28
    Pythonワンライナー
  • 集合演算の実行速度:メソッドと演算子 - PYTHONIC BOOM BOOM HEAD

    集合演算をメソッドでやる場合と演算子でやる場合、どちらが速いのか気になったので試してみた。 なんとなくの予想だと、対象を全てset型に揃えないといけない演算子による計算よりも、メソッドの引数がイテラブルであればなんでもよいメソッド演算のほうが速いのかなー? import timeit setup = """ from random import choice from string import ( ascii_letters, uppercase, lowercase, ) hoge = [choice(ascii_letters) for i in xrange(30)] fuga = [choice(uppercase) for i in xrange(30)] piyo = [choice(lowercase) for i in xrange(30)] """ oper = "se

    集合演算の実行速度:メソッドと演算子 - PYTHONIC BOOM BOOM HEAD
    sucrose
    sucrose 2012/06/11
  • Pythonのisdigit(),isdecimal(),isnumeric()の違いを調べてみた - PYTHONIC BOOM BOOM HEAD

    (2017/8/7追記) 当時は記事内容の通りだったんですが、現在のpython3.6や2.7の最新だとローマ数字はisdigitでFalseを返すようです いつもtwitterでお世話になってる方のブログ記事でこんな記述がありました。 #91 [Python][TDD]テスト駆動開発でFizzBuzzしてみようず! « Python « a wandering wolf str型には、次の検証用メソッドがあります。 str.isdecimal() str.isdigit() str.isnumeric() 正直、私にはこれらの違いが分かりませんでした(´・ω・`) Python2.7には isdigit() しかないようなのでPython3.2あたりで追加されたんでしょうか。気になったので違いを検証してみました。 検証 num = "1" # まずはunicodeで num.isdigi

    Pythonのisdigit(),isdecimal(),isnumeric()の違いを調べてみた - PYTHONIC BOOM BOOM HEAD
    sucrose
    sucrose 2011/05/29
  • itertoolsモジュールをひと通り眺めてみた - PYTHONIC BOOM BOOM HEAD

    Python 3 からは一部の関数がイテレータを返すよう変更になったということなので、この機会にPython3を触りつつitertoolsモジュールについてひととおり学んでみた。 主に参考にしたのは9.7. itertools — 効率的なループ実行のためのイテレータ生成関数 — Python 2.6ja2 documentation。そのため添えてあるメモは基的にpython2.6が前提。2.7や3.2で追加されたり変更された点があればその旨を適宜書いてあります。 print関数について 今回はPython3.2であれこれしたのでprint関数を使ってます。Python2.6以降で print("", end=" ") みたいなのを使うには from __future__ import print_function とする必要があります。 バージョン毎のメソッドの実装状況 それぞれのバ

    itertoolsモジュールをひと通り眺めてみた - PYTHONIC BOOM BOOM HEAD
    sucrose
    sucrose 2011/05/25
  • 1