かべぎわブログ

技術的なことについてかけたらいいな…

Python

Pythonで70分とか25時とかそういうのを実現させる

概要 Pythonで70分を1時間10分にしたい。 Pythonで25時を翌日の1時にしたい。 そういうのを実現させる。 前提 前提として以下をやってあげています。 from datetime import datetime,time,timedelta 70分を1時間10分にしたい 1時間は60分なので60で除算して…

Pythonで配列の要素の奇数番目と偶数番目を取得する

概要 Pythonで配列の奇数番目の要素と偶数番目の要素を取得してみたいと思います。 偶数番目の要素を取得する たとえばこんなかんじの配列があるとする。 num_array = [0,1,2,3,4,5] こんなかんじで指定してあげると偶数番目の要素を取得することができる。 …

Pythonで時差を計算してみる

概要 Pythonで時差を計算してみます。 スクリプト例 こんなかんじでtimedeltaを利用することで時差を計算することができます。 ちょっとした解説 8行目からの delta = timedelta(hours=時差) として、datetimeオブジェクトと足し算引き算することができます…

Pythonで2次元配列をソートする

Pythonで2次元配列をソートする場合どのようにしたほうがいいのかをご紹介します。 単一のキーでソートする 複数のキーでソートする 単一のキーでソートする たとえばこんなかんじの2次元配列があったとする。 wawawa_array = [[7,5,1],[2,4,9],[7,4,9]] こ…

Pythonで2次元配列を数値の2次元配列にしたり文字列の2次元配列にしたりする

Pythonで文字列の配列を数値の配列にしたり数値の配列を文字列の配列にしたりしなかったりします。 まえに書いたこの記事の2次元配列バージョンです。 www.kabegiwablog.com 文字列の配列を数値の配列にする 数値の配列を文字列の配列にする 文字列の配列を…

Pythonのsort()でNoneって返されてハマった

概要 Pythonで配列をソートしようとおもってsort()をつかっていたらNoneって返されてハマってしまった。 そのメモ。 ハマったこと こんなかんじの配列を >>> print(wawawa_array) [3, 2, 4, 1, 5] こうしてソートしようとした。 wawawa_array = wawawa_array…

Pythonで文字列の配列を数値の配列にしたり数値の配列を文字列の配列にしたりする

概要 Pythonで文字列の配列を数値の配列にしたり数値の配列を文字列の配列にしたりしなかったりします。 します。 文字列の配列を数値の配列にする たとえばこんなかんじの配列があったとする wawawa_array = [ '3','2','4','1','5'] これをこんなかんじで数…

Pythonの辞書形式をvalueの値でソートする

概要 Pythonの辞書形式のvalueの値でソートしてみる。 前提 こんなかんじの辞書があったとする。 wawawa_dict = {'wawawa': 200, 'sasasa': 100, 'dadada': 300 valueで昇順にソート こんなかんじでlambda式をつかってあげる必要がある。 ちょっとわかりにく…

Pythonの空の2次元配列の宣言の仕方

概要 Pythonでの空の2次元配列の宣言の仕方ではまった。 はまったこと こんなかんじでアスタリスクをつかって宣言していた。 wawawa_array = [['']*3]*3 それに値を代入したところこんなかんじになってしまった。 >>> wawawa_array[0][0] = 'wa' >>> print(w…

Pythonのprintにアスタリスクをわたすことで配列やタプルを分解することができる

概要 しらなかったのでメモ。 Pythonで配列をprintするときに[]とか,とかがじゃまだなーとおもっていたらそれを解決するほうほうがあった。 解決方法 printする際にアスタリスクをつけてあげるだけでOK たとえばこんなかんじの配列があったとする wawawa_arr…

Pythonでgrepみたいなことをしてみる

概要 Pythonを利用してgrepみたいなことをしてみたいと思います。 スクリプト例 だいたいこんなかんじ。 words_arrayのそれぞれの要素の中にwaという文字が存在するかどうかを確認したい。 grep_word = 'wa' words_array = ['maeda','tanaka','wasabi'] for …

Pythonでテキストファイルの内容を編集してみる

概要 Pythonを利用してテキストファイルの内容を編集して見たいと思います。 やってみる たとえばこんなかんじのテキストファイルがあるとする。 $ cat ~/Downloads/sasasa.txt AAA BBB CCC DDD EEE こんなかんじのスクリプトで編集することができる。 ファ…

Pythonでテキストファイルの内容を1行ずつ読み込んで処理する

概要 Pythonを利用してテキストファイルの内容を1行ずつ読み込んで処理してみたいと思います。 実際にやってみる こんかなんじのテキストファイルがあるとする。 $ cat ~/Downloads/sasasa.txt AAA BBB CCC DDD EEE ファイルをopenしたあとにreadlines()をつ…

Pythonでローカルのテキストファイルの内容を読み込む

概要 Pythonを利用してローカルにあるテキストファイルの内容を読み込んでみたいと思います。 実際にやってみる こんなかんじのテキストファイルを用意します。 $ cat ~/Downloads/sasasa.txt AAA BBB CCC DDD EEE それをこんなかんじで開くことができます。…

Pythonのfindall()で正規表現で一致した文字列をすべて取得する

概要 Pythonのfindall()メソッドを利用して正規表現で一致したすべての文字列を取得してみます。 実際にやってみる たとえば以下のようなかんじ。 import re wawawa = 'by the way kabegiwablog is GODblog' blog_name = re.compile(r'[^\s]*blog') search_r…

PythonでホームディレクトリのPATHを取得する

概要 Pythonを利用してホームディレクトリのPATHを取得してみたいと思います。 環境 Python 3.5 以上 取得してみる Path.home()で取得することができます。 from pathlib import Path home_directory = str(Path.home()) # '/Users/kabegiwa' おわりに べん…

Pythonで正規表現を利用する

概要 Pythonで正規表現を使ってみたいと思います。 つかってみる Pythonでの正規表現はreをimportすることで利用できます。 たとえばいかのようなかんじ。 文字列の中からブログっぽい名前をもってくる。 import re wawawa = 'by the way kabegiwablog is GO…

Pythonで文字列の前後のスペースを取り除く

概要 Pythonを利用して文字列の前後の無駄なスペースを取り除いてみたいと思います。 実際にやってみる strip()をつかうことで実現することができます。 wawawa = ' kabegiwa blog ' wawawa.strip() # 'kabegiwa blog' 文字列中のスペースは取り除かれません…

Pythonで昔の映画のスタッフロールみたいなやつをつくる

概要 伝わる人にだけ伝わればいい。 たぶん2週間後に自分にも伝わらない。 こういうやつをつくりたい。 画像はヘイトフルエイトのスタッフロールだけど プログラム プログラム自体はこんなかんじ。 辞書形式のスタッフとスクリーンサイズをわたしてあげる。 …

Pythonで文字列を右揃え左揃え中央揃えにする

概要 Pythonでrjust()とljust()とcenter()をつかって文字列を右揃えや左揃え、中央揃えにしてみたいと思います。 右揃え rjust() rjust()をつかうことで文字列を右揃えにすることができます。 数値を渡すことでその長さで右揃えにした文字列を応答してくれま…

Pythonで文字列が半角英数字かどうか判定する

概要 Pythonを利用して特定の文字列が半角英数字かどうかを判定してみたいと思います。 パスワードとかによくあるやつ。 あれをやりたい。 スクリプト例 こんなかんじで実装できる。 password = input() if password.isalnum(): break print('半角英数字でお…

Pythonで文字列をエスケープするのがめんどくさいときはraw文字列をつかう

概要 文字列の中に特殊な文字'などをいれたいときは\'といったかんじでエスケープしてあげる必要がありますが、たくさんエスケープ処理をしているともうなにがなんだかわかんなくなってめんどくさくなってきます。 それの対処法です。 raw文字列をつかう Pyt…

Pythonの辞書形式で存在しないキーをgetする

概要 Pythonで辞書形式を利用するとき、存在しないキーを指定したときにはエラーになってしまいます。 それの回避法です。 回避法 getをつかうことで存在しないキーだった場合にエラーが発生しなくなります。 また、デフォルトの値を設定することができます…

Pythonの参照渡しでハマったのでその対処法

概要 Pythonの参照渡しでハマってしまった。 なにがおきたか 以下のようなプログラムがあったとする。 wawawa_array = ['wa1','wa2','wa3'] sasasa_array = wawawa_array sasasa_array[0] = 'sa1' print(wawawa_array) print(sasasa_array) これを実行すると…

Pythonのsys.exit()で途中でスクリプトを終了させる

概要 Pythonでsys.exit()をつかって、スクリプトの途中でプログラムを終了させてみたいと思います。 スクリプト例 まず最初にimport sysをして上げる必要があります。 そのうえでsys.exit()と書いてあげることでそれが実行されたタイミングでスクリプトの途…

Pythonでエラトステネスの篩を実装してみる

概要 Python3でエラトステネスの篩を実装してみたいと思います。 エラトステネスの篩とは? エラトステネスの篩 (エラトステネスのふるい、英: Sieve of Eratosthenes) は、指定された整数以下の全ての素数を発見するための単純なアルゴリズムである。古代ギ…

Pythonで関数の中に関数を宣言してクロージャとしてつかってみる

概要 Pythonでは関数の中に関数を宣言するとそれはクロージャとして動作します。 ためしにやってみます。 スクリプト例 以下のようにouter()という関数の中でinner()という関数を宣言しています。 そしてreturnでinnerの関数そのものを返しています。 def ou…

Pythonで関数の引数に**をつかって複数個の値を辞書形式の引数としてわたす

概要 Pythonの関数の引数のところに**をつかって複数個の値を辞書形式の引数としてわたしてあげて関数を実行してみたいと思います。 スクリプト例 こんなかんじで関数の変数の部分に**変数といったかんじで指定をしてあげる。 def wawawa(**kwargs): print(k…

Pythonで関数の引数に*をつかって複数個の値を引数としてわたす

概要 Pythonの関数の引数のところに*をつかって複数個の値を引数としてわたしてあげて関数を実行してみたいと思います。 スクリプト例 こんなかんじで関数の変数の部分に*変数といったかんじで指定をしてあげる。 def wawawa(*args): print(args) print(args…

Pythonで単語の中のアルファベットの個数を数えてみる

概要 Pythonをつかってある単語の中のアルファベットの個数を数えてみたいと思います。 スクリプト例1 たとえばwasabiという単語に利用されるアルファベットの個数を調べてみます。 こんなかんじでcount()をつかうことでその単語の文字を数えることができま…