毎日Learning

学んだことを共有します

Python

P09 (**) リストの重複する要素をそれぞれ子リストとしてまとめる。

def main(): print pack("a") == None print pack([]) == [] print pack(["a"]) == [["a"]] print pack(["a", "b"]) == [["a"], ["b"]] print pack(["a", "a", "b"]) == [["a", "a"], ["b"]] print pack(["a", "a", "b", "b"]) == [["a","a"], ["b", "b"]] p…

L-99: Ninety-Nine Lisp Problems p09-p10 までのソースをさらす

前回 L-99: Ninety-Nine Lisp Problems p06-p08 までのソースをさらす - 毎日Learning の続き。日々、意識して簡潔なコードを書くようになってきた。ししょーの言葉にあった、「コーディングもイテレーションや」を念頭に置き、一度動くコードを書いたからと…

Twitter APIを使って検索取得したJSONをGoogle App Engineに保存するcron

Twitter APIを使って、あるキーワードで取得した結果を、そのままGoogle App EngineのEntityに保存する。というcronを作ったので、メモっておく。app.yamlは以下のようにする。 application: hoge version: 1 runtime: python api_version: 1 - url: /c/.* s…

文字列の前後の全角空白をtrimする

文字列の前後に、半角空白やタブ文字が入っている場合、 " \thoge \t".strip() >>> 'hoge' で除去できるのは、普通。ただ、全角空白が入っていると、 " \thoge \t".strip() >>> '\xe3\x80\x80\thoge' と、上手いこといかない。全角空白は残るし、タブも残る…

キーの配列と値の配列を一発で辞書にする方法

ししょーの教えの元、感動したのでブログっておく。Java的指向の僕が考えたコードは以下。 k_l = ["a", "b", "c"] v_l = ["hoge", "fuga", "ponyo"] result = {} for k,v in zip(k_l, v_l): result[k] = v >>> {'a': 'hoge', 'b': 'fuga', 'c': 'ponyo'} し…

Google Appe Engineの開発サーバを実行した時のWARNING IOErrorが出る理由

ちょっと調べたら解決できたので、メモ。Google App Engineの開発サーバを、以下の環境で実行したときに、WARNINGログが出ていた。WARNINGなので無視っていたが、ちょい気になったので調べてみた。 WARNING 2010-07-20 09:41:03,831 py_zipimport.py:103] Ca…

vim上でpythonスクリプトを一発実行

ちょっとしたことだが、便利なので残しておく。vim上で以下のようなpythonスクリプトを実行するときに、Ctrl+P を入力するだけでpythonが実行されるというやつ。 def main(): print u"便利だわー" if __name__ == "__main__": main() .vimrc とかに、以下の…

L-99: Ninety-Nine Lisp Problems p06-p08 までのソースをさらす

前回( L-99: Ninety-Nine Lisp Problems p01-p05 までのソースをさらす - 毎日Learning )の投稿をししょーに添削してもらい、「これはJavaだね」と言われ、「こうだよ」という教えを受けました。その教えを反映できているか、まだまだ自信無いですが、さらす…

L-99: Ninety-Nine Lisp Problems p01-p05 までのソースをさらす

L-99: Ninety-Nine Lisp Problems p01-p10 の意訳 - Pyro Memo の和訳を見ながら、実際にやってみた。元サイト L-99: Ninety-Nine Lisp Problems も見ながら。P99のどこまで行けるか分からないが、出来るところまでさらしていこうと思う。はっきり言って、py…