2018年12月

1/4ページ
  • 2018.12.27

メタ文字⑤ 文字集合

文字集合(文字セット)  [ ] で囲まれた文字列は、その中のいずれか1文字にマッチする正規表現(文字集合)です。たとえば、[abc] は a, b, c のいずれかにマッチします。 # reモジュールをインポート import re # a, b, c のいずれかに適合する正規表現 regex = re.compile(r'[abc]') # 検索対象文字列 line = 'apple berr […]

  • 2018.12.26

メタ文字④ 複数文字・複数候補

複数文字のパターンマッチ  ( ) は複数文字のパターンをまとめてグループにします。  たとえば、(けほ)+ は けほ の 1 回以上の繰返しを意味します。 # 正規表現オブジェクトを作成 regex = re.compile(r'(けほ)+') # 検索対象となる文字列を作成 line = "「最近、ちょっと風邪気味で。けほけほけほ」" # sentenceを検索 s = regex.searc […]

  • 2018.12.26

メタ文字③ 繰り返しパターン/任意の文字列

文字列の繰返しにマッチする正規表現  + や * などのメタ文字を使うと、文字列の繰返しにマッチする正規表現 をつくることができます。 1回以上の繰返し  + は直前の文字の1回以上の繰返しを意味するメタ文字です。  たとえば、は+ は   ・ははは   ・はははは   ・あははは などの文字列にマッチします。 # 正規表現オブジェクトを作成 regex = re.compile(r'あ+') # […]

  • 2018.12.25

メタ文字② アンカー(パターンの位置)

アンカー(パターンの位置)  パターンの位置を指定するメタ文字をアンカーとよびます。  正規表現では文字列の先頭と末尾を表すアンカーが定められています。 文字列の先頭  ^ は文字列の先頭を表すアンカーです。  たとえば、^今日 というパターンは  ・今日は良い天気ですね。  ・今日の試合は絶対に勝つぞ!  ・今日がダメでも、明日があるさ。 のような文字列にマッチします。 # reモジュールをイン […]

  • 2018.12.25

メタ文字① 任意の1文字

≫ 正規表現の基本については、こちらの記事を参照してください。 任意の1文字にマッチする正規表現  . は任意の1文字にマッチするメタ文字です。  たとえば は.を飼って という正規表現は、  ・次郎君 は犬を飼って いる。  ・小春ちゃん は猫を飼って います。  ・私 は鼠を飼って いません。 などの文字列にマッチしますが、  ・次郎君はイヌを飼っています。  ・私はサルを飼ってみ […]

  • 2018.12.21

キーボードショートカット

コマンドモードとエディットモード  コードセルの左端に色のついたバーがあります。このバーが青色のとき、セルはコマンドモードになっています。このモードにあるときは、コードセルの追加や削除、コピーなど、コードセル自体を操作するショートカットキーを使うことができます。  バーが緑色のときは、セルは(コードを入力する)エディットモードになっています。このモードでは、インデント挿入や編集内容の取り消し(un […]

  • 2018.12.21

ヘルプの表示と Tab 補完機能

help()関数  Python のオブジェクトには docstring とよばれる説明文(ドキュメント)が付属していて、help()関数を使って呼び出すことができるようになっています。たとえば、help(abs) と記述すると、指定するべき引数や戻り値などが表示されます。 help(abs) Help on built-in function abs in module builtins: ab […]

  • 2018.12.21

[NumPy] 配列の高速ソート

numpy.sort()  numpy.sort()関数は配列を受け取って、ソートされた配列の copy を返します(元の配列は変更されません)。  numpy.sort(array_like, axis=-1, kind='quicksort', order=None)  第 1 引数には配列に相当するオブジェクトを渡します。  疑似乱数で 1 次元配列を作ってソートしてみましょう。 # Num […]

  • 2018.12.20

[NumPy] 構造化配列

 ある統計データを作成するために、人々の名前、年齢、身長などのデータを収集して管理することを考えます。一番素朴な方法は、それぞれのデータを別々の配列に放り込むことです。  name = np.array(["小春", "小夜子", "時雨"])  age = np.array([20, 25, 23])  height = np.array([156.3, 159.8, 162.5])  しかし、 […]

  • 2018.12.18

[NumPy] view と copy

view と copy  NumPy の配列 (ndarray) を変数に代入したとき、一見すると奇妙なことが起こります。 # NumPyをインポート import numpy as np a = np.array([1, 2, 3]) b = a # 配列bの第1要素を100に変更 b[0] = 100 print("a = {}".format(a)) print("b = {}".forma […]

1 4