タグ

PythonとTipsに関するpoppenのブックマーク (3)

  • split の研究 - bkブログ

    split の研究 split 関数の挙動が言語ごとに微妙に異なると知人と話題になったので調べてみました。結果はまとめをどうぞ。 Ruby まずはRubyから調べてみます。irb を使って調べました。 % irb ... まずは普通に分割 >> "a,b,c".split(",") => ["a", "b", "c"] 末尾に空要素があると、省略されてしまう >> "a,,c,,".split(",") => ["a", "", "c"] 末尾の空要素を省略しないためには -1 が必要 >> "a,,c,,".split(",", -1) => ["a", "", "c", "", ""] 空文字列だと結果も空 >> "".split(",") => [] -1 をつけても同様 >> "".split(",", -1) => [] 分割パターンを指定しない場合も同様 >> "".split

  • 西尾泰和のブログ: Pythonでワンライナーを作成する際のノウハウ集

    これはLL Ringというイベントの「じゃんけん2.0」に出場する際に「多くの構文に改行が必須であるPythonで書かれたじゃんけんエージェントをワンライナーにしていたらウケるかな」と思ってワンライナー化しているときに書いたメモです。自分用のメモのつもりだったので書き殴ってありますが、意外と人気のようなので近いうちに加筆します。 実は後から書いた英語版(How to make oneliner in Python?)の方が整理されているのかも。 完成したワンライナー def文を式にする defは改行を要求するのでlambdaに置き換える必要がある。 def foo(x): return x + 1(ここに改行) foo = lambda x: x + 1 globals().__setitem__("foo", lambda x: x + 1) lambdaは式しか含むことが出来ないので、

  • The Python IAQ: Infrequently Answered Questions

    The Python IAQ: Infrequently Answered Questions by Peter Norvig Q:Infrequently Answered Questionって何ですか? ある種の質問は、答えを知る人がほとんどいない、あるいはポイントが曖昧である、理解しづらい問題であるという理由によって(とはいえ、あなたにとってはとても重要なものかもしれません)、めったに答えられることがありません。 Java_IAQ のために、このIAQという用語を作ったのですが、それはとても有名な、 About.comの都市伝説リスト でも見つけられます。PythonのFAQはたくさん見つかりますが、Weiyang Chenによる、 このページの中国語訳 を除けば、これは唯一のIAQです(FAQリストのいくつかには、 C への皮肉が含まれています)。 Q:finally節内のコードの

  • 1