Pythonでよく使う小技メモ【Pythonプログラミング】




この記事では「Pythonでよく使う変数の扱いや忘れやすい関数」などを忘備録的にメモしておく。






文字列が含まれているかどうか判定したい


特定の文字が含まれてるかどうかの判定は 検索文字 in ターゲット を使う。

if 'world' in "Hello world!":
    print("worldが含まれている")




辞書から値が含まれているキーを抽出したい


まず、こんな感じの辞書を用意しておく。

dic = {
    'programming': ['android','c','css','python','swift','kotlin'],
    'vegetables': ['hydroponics','planter'],
    'iot': ['raspberry_pi','arduino'],
    'analog': ['speaker', 'electric_circuit'],
    'posts': ['localize','hotsand','camp'],
}


この辞書の中からたとえば、python という値が含まれているキーを見つけたい場合は、次のように書くことができる。

for key, array in dic.items():
    if "python" in array:
        print(key)




配列を文字で分割結合したい


分割する場合

split() を使うとテキストを特定の文字で分割して、配列にすることができる。
arr = text.split(',')


結合する場合

join()を使うと配列を特定の文字でつなげて、テキストに変換できる。
text = ','.join(arr)




文字を置換する


文字を指定して置換: replace()

replace() を使うと置換したい文字に完全一致した場合に置換される。
s = 'Hello world!'
s.replace('world', 'Python')

# Hello Python!


正規表現で置換: re.sub()

re.sub() を使うと置換したい文字を正規表現でマッチさせることができる。
import re

s = 'Hello world!'
re.sub('[a-z]*!', 'Python!', s)

# Hello Python!



特定の文字を抽出したい


URLを抽出する: findall()

findall() を使うと正規表現にマッチしたすべての文字列を配列として抽出することができる。

例えば次のような文章を、変数 text として用意する。
Androidの公式ドキュメント(https://developer.android.com/guide/topics/ui/dialogs?hl=ja)よりダイアログの表示サンプルを試してみた。ドキュメントではJavaで記述されているがここではKotlinに書き直して実装した。

なお、本プロジェクトはGithubリポジトリへ公開してある。https://github.com/araemon/AndroidExercise/tree/master/TryDialog


この中からすべてのURLを取り出したい場合、次のようにして抽出することができる。
import re

pattern = "https?://[\w/:%#\$&\?\(\)~\.=\+\-]+"
re.findall(pattern, text)

# ['https://developer.android.com/guide/topics/ui/dialogs?hl=ja', 'https://github.com/araemon/AndroidExercise/tree/master/TryDialog']



ファイルの最終変更日を取得したい


ファイルの最終変更日を取得するには os.statst_mtime を使う。

st = os.stat('index.html')
print(st.st_mtime) #最終変更日タイムスタンプ




独学プログラマー Python言語の基本から仕事のやり方まで

本書は「Pythonだけ」を学ぶ本ではありません。Pythonを使ってプログラミングを紹介していますが、伝えたい内容はPythonに限らない「プログラミング全般」の知識です。プログラマになるためのスキルを独学できる本です。Pythonプログラミングの基本を学べるだけでなく、プログラマとして必要なスキル(シェル、正規表現、パッケージ管理、バージョン管理、データ構造、アルゴリズム、仕事の始め方・やり方)もひと通り学べるのが特徴です。「プログラミングを始めたい」「できればその道でプロを目指してみたい」――そんな読者にオススメです。

KindleAmazon

Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる!

機械学習やデータ分析になくてはならない「データ」。このようなデータは、インターネット上に膨大にありますが、Pythonを使えば効率よくデータ収集できます。こうした手法を「スクレイピング」といいます。

KindleAmazon

あなたにおすすめ