python
FormWizardを使って入力確認画面を実装するというのをやりたくて、昔書いたエントリを見返してた。FormWizardで確認画面を表示する - brainstorm FormWizardで入力確認表示のときのformをダミーにするというもの #forms.py class DummyFrom(forms.Form): pas…
input 5;0,1,2,3,0 20;0,1,10,3,2,4,5,7,6,8,11,9,15,12,13,4,16,18,17,14output 0 4 関連 : Go言語でCodeEvalのArray Absurdity - brainstorm
「3413289830 a-bcdefghij」だったら、3-413289830を計算して解を出力するinput 3413289830 a-bcdefghij 776 a+bc 12345 a+bcde 1232 ab+cdoutput -413289827 83 2346 44
pythonで[]を代入する書き方があるって知らなかった。 # coding=utf-8 l = [i for i in range(0, 10)] assert l == [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 範囲を指定して値を削除 # del [2:4] l[2:4] = [] assert l == [0, 1, 4, 5, 6, 7, 8, 9] goのスライスだ…
# coding=utf-8 d = {'john': 22, 'ringo': 22, 'paul': 20, 'george': 19} # 昇順 assert sorted(d.items(), key=lambda x: x[1]) \ == [('george', 19), ('paul', 20), ('ringo', 22), ('john', 22)] # 降順 assert sorted(d.items(), key=lambda x: x[1],…
redisでtwitterのタイムラインのように時系列でデータを保存することを考えてみる。新しく追加されたデータを先に取得できるようにする必要がある。ページングするのに、最後に返したデータのポジションは取得できず、データそのものが渡されると仮定。つま…
PycharmのExternal Toolsに、ディレクトリごとflake8のチェックをかけるツールを設定をしているんだけど、southのmigrationsファイルがひっかかるのがイマイチだった。exclude設定ができないはずはないんだから早く設定すればよかった。
いちいちuser/passを入力するのが面倒。一つの方法として~/.hgrcにuser/passを書いてしまう手がある。 [auth] er.prefix = https://example.repository.com er.username = {username} er.password = {password}ただし平文でパスワードを書くことになる 別の…
ありがちな書き方 import urllib def build_url(base_url, params=None): if params is None: params = {} return base_url + '?' + urllib.urlencode(params) ケースによっては問題がある # 正常に処理できるパターン print build_url("http://example.com"…
CodeEval以下のようなファイルが与えられるのでinput.txt a b c d 4 e f g h 2 各行の一番最後の数値mを取得して、m以外の文字の後ろからm番目(1 origin)を出力する output a g
関連 : Go言語でCodeEvalのStack Implementation - brainstorm
CodeEval入力ファイルの1行目が取得する行数n 2行目以降を長い順でn行取得して表示input.txt 2 Hello World CodeEval Quick Fox A San Franciscooutput San Francisco Hello World
CodeEval You will be given a hexadecimal (base 16) number. Convert it into decimal (base 10). input.txt 9f 11output 159 17
CodeEval組み込みの機能を使わずに余りを求めるという問題input.txt 20,6 2,3output 2 2
os.environを使う # coding=utf-8 import os # 環境変数設定 os.environ["hoge"] = "fuga" # 環境変数取得 print "hoge is {}".format(os.environ["hoge"]) # -> hoge is fuga # 環境変数をリストで取得 for i, pair in enumerate(os.environ.iteritems()): …
python # coding=utf-8 from urlparse import urlparse, parse_qs s = "http://www.cwi.nl:80/%7Eguido/Python.html?a=b#f" u = urlparse(s) print u # スキーム print u.scheme # -> http # ホスト print u.netloc # -> www.cwi.nl:80 # ポート番号とhostna…
pythonで文字列がascii文字のみで構成されているかどうかを調べる方法をググってて、encodeとかdecodeを使う方法を見つけた。 def is_ascii(u): try: if isinstance(u, unicode): u.encode('ascii') elif isinstance(u, str): u.decode('ascii') else: retur…
argparseでマルチバイト文字を渡すとバイト列型として取得されるunicode型として扱いたい場合はdecodeする必要があるが、エンコーディングをどうするべきか調べてた多分sys.getfilesystemencodingを使えばいいんだと思うけど、macosxのpython2、python3でし…
辞書で単語の出現回数をカウントするようなコードのサンプル初めて登場した単語のときだけ、インクリメントじゃなくて1を入れる処理をする必要がある data = open("sample.txt").read() words = data.split() d = {} for word in words: if word in d: d[wor…
前にやってた気がするんだけど、とっさにでてこなかったのでググって調べてた。 How do you split a list into evenly sized chunks in Python? - Stack Overflow # coding=utf-8 def chunks(l, n): """ Yield successive n-sized chunks from l. """ for i …
昨日ちょっと試したcsvkitをもう少し触ってみる csvファイルをjson形式に変換する 例えばこんなcsvファイルを $ head japan_pref_population.csv pref,people,size,population 愛知県,"7,425,952","5,165.12","1,437.71" 愛媛県,"1,414,996","5,678.33",249.…
csvファイルを扱うためのコマンドラインツールを集めたライブラリ。python製。csvkit 0.6.2 (beta) ― csvkit 0.6.2 (beta) documentationいろいろ試してみた。まずcsvファイルを用意。 以下のサイトからガンバ大阪の年間試合スケジュールをcsvファイルでDLさ…
django標準のrunserverを置き換えて、開発時に便利な機能を使えるようにしたものらしい。django-devserver 0.6.2 : Python Package Index インストール pip install git+git://github.com/dcramer/django-devserver#egg=django-devserver 設定。INSTALLED_AP…
mockを使ってテスト書いてて、「関数が実行されたこと」をテストするのに、assert_called_withとかassert_called_once_withとかいろいろ用意されていて便利だったで、「関数が実行されなかったこと」をテストするのはどうするのかと思って調べた。例えばある…
あるプロジェクトでテスト実行したら以下のようなwarningが出てたので、発生箇所を調べた UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal if aBuf[:len(chunk)] == chunk:ソ…
軽くさわってみて雰囲気をみてみたfactory_boy ― Factory Boy 2.1.2 documentation rbarrois/factory_boy インストール $ pip install factory_boyこんなエラーがでたけど、pip install -U setuptoolsしてリトライしたら成功した pkg_resources.VersionConfl…
dict_a.update(dict_b)だと、dict_aの値をdict_bの値で上書きしてしまうので、上書きしないでマージする方法を調べてた。 # coding=utf-8 DEFAULT_OPTIONS = {'foo': 1, 'bar': 2} def sample_method(options=None): if not options: options = {} # 入力値…
軽く試してみたTextBlob # coding=utf-8 from text.blob import TextBlob text = u""" I am honored to be with you today at your commencement from one of the finest universities in the world. I never graduated from college. Truth be told, this i…
flake8 2.0 : Python Package Indexflake8はpythonのコードチェッカーで、以下の3つのツールのラッパーとなっている pyflakes pep8 Ned Batchelder's McCabe script McCabe scriptというのは循環的複雑度をチェックするもの(らしい)mccabe 0.2.1 : Python Pa…