タグ

tipsとpythonに関するbunhikoのブックマーク (5)

  • Pythonで競プロをしよう!〜入門者が知っておくべきTips〜

    こんにちは、Finatextグループのナウキャストでデータエンジニアをしているけびん( Twitter: @Kevinrobot34, AtCoder: Kevinrobot34 )です。先日、PyCon JP 2020で、「Python競プロをしよう! 〜入門者が知っておくべき高速化Tips〜」という題名で発表をさせていただきました。発表時のスライドと動画はこちらです。 この内容について、少し加筆してまとめようと思います。 はじめに最近AtCoderを中心に、競技プログラミングの人気が高まっています。 C++で参加している人が最も多いですが、Pythonで参加している人もかなり増えています。 Pythonは書きやすい一方でC++と比べてしまうと実行速度が遅く、Logicは正しくてもPythonだとTLE(Time Limited Exceeded, 時間超過)してしまうことも少なくあり

    Pythonで競プロをしよう!〜入門者が知っておくべきTips〜
  • python入門チートシート - ナマアシタノム

    内容 python初学者向けの頻出アイテムチートシートを作成してみました。 A4用紙に印刷してちょうどいいように必要事項をみっしりと敷き詰めています。pythonプログラミングのお供にどうぞ。 目次 if文 while文 for文 continue/break文 論理演算 算術演算 関数 リスト ディクショナリ map タプル モジュール クラス 例外 の基的なことをできるだけたくさん盛り込みたかったので記述順番はぐちゃぐちゃしてしまった感じです。 記述ミスあったらごめんなさい。指摘あれば直します 最新版のDLは こちらからどうぞ(v1.1)。 (zip/約50kb/中身はpdf) 古いバージョン v1.1 コメントのid:t-tanakaさん指摘を修正 b:id:cu39さんのコメント「M+2VM+IPAG circleですね。」を見てフォントを「M+2VM+IPAG circle」に

    python入門チートシート - ナマアシタノム
  • ウノウラボ Unoh Labs: 2009年版Python開発環境を整えよう

    なでしこの作者じゃない方のsakatokuです。 以前書いた「Python開発環境を整えよう」という記事からだいぶ時間が経ってしまったので、内容を更新したいなぁと思っていたのですが、ようやくその機会が来ました。 virtualenvで開発環境をつくる 開発環境をつくるにあたって次のような問題が生じると思います。 root権限がないためにインストールしたいライブラリが使えない 新しいライブラリをインストールしたり、既存のライブラリをアップグレードすることで、既に動いているアプリケーションを壊したくない 複数のバージョンのPythonを使って開発、テストを行いたい 自作したPythonパッケージのインストールのテストを行いたい 以前の記事ではvirtual-pythonという解決策を紹介しましたが、現在ではvirtualenvというツールが広く使われるようになってきています。 virtuale

  • すげーコード見つけた - s-n-kのブログ

    色々とTracのソースを眺めてたらすごいコードを発見したので、忘れないようにメモ ココの 60行目から引用 60 DIGITS = re.compile(r'(\d+)') 61 def embedded_numbers(s): 62 """Comparison function for natural order sorting based on 63 http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/214202.""" 64 pieces = DIGITS.split(s) 65 pieces[1::2] = map(int, pieces[1::2]) 66 return pieces すごいところが分かりやすいようにして軽く実行してみるとこんな感じ >>> import re >>> DIGITS = re.compi

    すげーコード見つけた - s-n-kのブログ
  • [メモ]Pythonによる英字の半角全角変換

    ↓これもっと簡潔できれいな書き方はないものだろうか。 from itertools import izip #半角英字->全角英字変換 HAN_CHARS = map(chr, range(ord('A'), ord('Z')+1) + range(ord('a'), ord('z')+1)) ZEN_CHARS = map(lambda x: unichr(0xff00 + x),range(0x21, 0x21+ord('Z')-ord('A')+1) + range(0x41, 0x41+ord('Z')-ord('A')+1)) def han2zen(word): """ Unicodeで与えられた文字列の半角英字を全角英字に変換する。 """ for c, cc in izip(HAN_CHARS, ZEN_CHARS): word = word.replace(c, cc)

  • 1