プログラムとか 思ったこととか 徒然ブログ 投稿一覧へ戻る

タグ "python" が付いている投稿一覧

【 Python + Regular Expressions 】正規表現の 先読み ( look ahead; ?=expression ) 機能を使いこなそう!

Tags: python , regular expressions , lookahead

Published 2020年9月10日21:37 by T.Tsuyoshi

例えばファイルから読み込んだテキストに含まれるセンテンスの数を数える場合、'.'、'?'、'!' いずれかのリテラル文字で終わる場所を 1 つのセンテンスの最後と判断し、non-greedy にマッチさせるパターンを作成、findall() から返ってきたマッチリストの長さを取得します。 マッチオブジェクトを作成する際に findall() に指定している DOTALL フラグは、'.' 特殊文字において「改行文字 ( \n )」も含めるように指示するためです。 これによってセンテンスが行を跨いでいても対応可能になります。 import re string = …

【 Effective Python, 2nd Edition 】プログラムを並列処理 ( concurrency ) パターンへ移行するタイミングとツールを考えるシリーズ 第 5 回 - 並列処理 ( concurrency ) のためにスレッド ( thread ) を利用する場合は concurrent.futures モジュールの ThreadPoolExecutor の導入を検討しましょう、の巻

Tags: Effective , python , concurrency , parallelism , conway's game of life , threadpoolexecutor

Published 2020年9月8日10:29 by T.Tsuyoshi

さて、えっちらおっちらとやってきまして、このシリーズも第 5 回になっております。 取り敢えず整理も兼ねまして、過去 4 回のポストへのリンクをまとめておきます。 このシリーズで並列処理 ( concurrency ) ならびに並行実行 ( parallelism ) への検討を重ねている Conway's Game of Life の大元のコードは第 …

【 Effective Python, 2nd Edition 】プログラムを並列処理 ( concurrency ) パターンへ移行するタイミングとツールを考えるシリーズ 第 4 回 - 並列処理 ( concurrency ) 実現のために queue を利用するとリファクタリング ( refactoring ) 作業が大変です、の巻

Tags: Effective , refactoring , python , concurrency , queue , fan-out , fan-in

Published 2020年9月6日9:46 by T.Tsuyoshi

シリーズ第 3 回の記事 の検証で、コンスタントに fan-out / fan-in を繰り返す場合にはスレッド ( thread ) だけでの構築は不向き、ということが分かりました。 それにも懲りず今回も Conway's Game of Life サンプルを利用して、ブロッキング I/O の並行実行 …

【Python 雑談・雑学 + coding challenge】itertools モジュールの combinations() メソッドを自分で実装してみよう!

Tags: recursive , challenge , coding , python , itertools , combinations

Published 2020年9月1日17:01 by T.Tsuyoshi

さて、itertools モジュールの combinations() メソッドを使ったことがありますか? シーケンス要素の「組み合わせ」を返してくれます。 from itertools import combinations nums = [0, 1, 2, 3] print(list(combinations(nums, 2))) # [(0, 1), …