atcoder.jp#説明:アルファベットと数字の対応を辞書型で記憶する。ここでc[p]はcのキーがpのvalueという意味。あとはvalue同士の差を取れば良い。・実装例 p,q=map(str,input().split()) c={'A':0,'B':3,'C':4,'D':8,'E':9,'F':14,'G':23} print(abs(c[q]-c[p]))
www.pon-x.jp 前回の続きで、今回は辞書型をやります。 辞書型 辞書型はリストを要素ごとにラベルづけしてあげるものです。 さっそくやってみましょう。 n = {"名前": "よしお", "身長": 180, "体重": 70} n 辞書を作ることができました。 リストであればインデックス番号を指定して要素を引取り出せますが、辞書の場合は要素の名前でデータが取り出せます。 n["名前"] このとき、データラベルとキー、データをバリューと呼び、バリューはキーで呼び出すことを可能にしています。 データの追加 データの追加もとても簡単です。 n["身長"] = 190 n キーとバリューを指…
データをひとまとめで欲しいことがある。 例えば友達の名前、郵便番号の一覧といった単純なデータの羅列から、誰々の名前、性別、生年月日、郵便番号、住所といった一塊のデータ一式のようなものを格納するのにいちいち name0 = 'Tom' name1 = 'Adam' name2 = 'Adrian' …… とか name0 = 'Tom' gender0 = 'male' birthday0 = '19990627' …… なんてやるのはとてもとても効率が悪い。 これを一塊のデータとして扱う方法はないか? ある。Pythonであればリスト、辞書、タプル、集合といったデータを一塊にした変数の型が存在…
Pythonを初めるきっかけができたので、ちょくちょくPythonについて取り上げたい。 リスト型と辞書型について 元々SAS、SQL、VBAを中心に使っていたので、Rを使い始めたときにリスト型の概念に初めて触れた。 配列(Array)っぽいと言えばその通りなので特に構えることはないが、使えるようになると便利なのでメモする。 文字、数値、浮動小数点は字の通り。 リスト型は [] で囲う。辞書型は {} で囲い「インデックス:値」とする。 x = "a" #-- 文字 str x = 1 #-- 数値 int x = 1.1 #-- 浮動小数点 float x = [1, 2, 3] #-- リ…
第8回、9回に引き続きコンテナの紹介です。 第8回:Pythonプログラミング入門 List(リスト) - 週末SEのメモブログ 第9回:Pythonプログラミング入門 tuple(タプル) - 週末SEのメモブログ dict(辞書型)は、Listやtupleと同じくコンテナの一種です。 違いとしては、Listやtupleが1つのオブジェクト単位で格納できたのに対し、dictは2つのオブジェクトを関連付けて格納します。 2つのうち片方のオブジェクトはキーと呼ばれ、オブジェクトの格納時や取得の際に必要になります。もう一方のオブジェクトは、バリューと呼ばれ紐づけられる(呼び出し対象になる)値になり…
いまだに正式リリースされていないPlots.jl Ver.2用に 先日紹介したPlots.jlのGRバックエンド用フォントパッチ(Linux用)を移植した。 誰の役にも立たない情報であるが,いつかバージョン2が出た時の自分のために記録しておく。 といっても,バージョン1よりもGR用のラッパーの位置が分かりづらくなっているだけで, 基本的にはあまり変わらない。 # plots_v2_gr_font_patch_for_linux.jl # using Pkg # plotsv2_env = "/home/ujimushi/test" # Pkg.activate(plotsv2_env) usi…
バカの山
本記事のソースコードはGistでも公開しています. gist9edf8ff48c8a64351994141b51d0bb9d 導入 修正したプログラム 応用編:フォルダ内の全JPGファイルのEXIF情報を取得し,geojson形式で出力 おまけ:QGISに写真付きで表示する 参考サイト Gist 導入 news.mynavi.jp 基本的に上記サイトのままですが, Pillow==7.2.0以降では仕様変更に伴い,元のままだと動かないので一部修正しました. 仕様変更:公式 7.2.0 - Pillow (PIL Fork) 10.3.0 documentation 仕様変更:参考サイト Pil…
はじめに ポケモンSV向けに自動ダメージ計算サイトを作りました。 キャプチャーボードを接続したPCからアクセスすると、ゲーム画面を勝手に解析してダメージ計算してくれます。 pbasv.cloudfree.jp 1年前くらいにPythonで同じようなアプリを作ったのですが、スクリプトや実行ファイルは配布に不向きでメンテナンスも面倒だったため、ウェブに移植したいと考えていました。 ただ、ウェブ開発の経験がなかったこともあり、なかなか着手できず、昨年末に参考書を購入してようやく作り始めました。 Pythonアプリの下地があったため、1ヶ月あればできるだろうと舐めてかかった結果、土日をほぼすべて費やし…
2024/3/31 # 二重ループにならないで済む実装がないか考える 円周率の小数点以下に、0~9が各何回出るか数える 0~9に関してループして、それぞれ頭からお尻まで見ると二重ループ 頭からお尻まで見ながら、今見てる数のグループのcntを+1すれば一回の確認ですむ。 問題のリンクは忘れた。 # 3個前のアルファベットにするシーザー暗号 単純にord()とchr()使うと、aやbやcが溢れる。aはzに変換。という例外を持たせた関数を3回走らせるようにすれば、例外の記述はaの時だけですむ。(自分で実装した時はordが96以下の時+26する、という対応表見ながらじゃないとわからないマジックナンバー…
前回から時間があいてしまって(引っ越しとかで忙しく)、色々忘れてしまってたのだけど、また一歩ずつ。 前回はきっと認証がとりあえずできた、ってところで終わってた?? やりたいこと①予定の登録をできるようにする やりたいこと②予定の一覧を出せるようにする やりたいこと③予定の編集・削除をできるようにする やりたいこと④予定の一覧を他の人のGoogleカレンダーに登録できるようにする やりたいこと⑤ChatGPTと連携したい みたいな感じで、とりあえずこの土日で①②ができるといいなという感じ。 【やりたいこと①予定の登録をできるようにする】 新しく作ったものは以下3つの関数。 ChatGPTに「dj…
今回はPython、Seleniumで新しいタブを開く方法の説明になります。 新タブはjavascriptの実行によりwindow.openを使用することで開くことができます。 尚、Seleniumのバージョンアップでウェブドライバーの設定方法が変わったこともあり、以下の例はSelenium Ver.4.6以降の場合の例として記載しています。 Ver.4.6以前の場合については以下の過去記事などで載せています。 違いはドライバーの設定方法だけですが。 kuku81kuku81.hatenablog.com (adsbygoogle = window.adsbygoogle || []).pus…
言語処理100本ノックを解いていきます。 言語処理100本ノック 2020 (Rev 2) - NLP100 2020 解くのに使ったプログラミング言語はPython 3。 なるべく関数型言語チックに書いているつもりです。再代入はなるたけ避ける。 解答はgithubにも載せておきます。 GitHub - nanjakkun/nlp_100_ans: 言語処理100本ノックの解答 1章の答えと解説だけこの記事にも載せます。 全部解説書こうと思ったけど力尽きたのでgithub見てください・・ (3/24現在 40問まで終了) 1章 準備運動の解答 00 文字列”stressed”の文字を逆に(末尾…
前回、dlshogiのPyTorch Lightning対応の基本部分を実装した。今回は、EMAを実装する。 EMA EMAは、Exponential Moving Averageの略で、重みの指数移動平均をとり平準化する方法である。dlshogiでは、SWAと呼んでいたが、SWAで使われるスケジューラは使用しておらず、重みのエポックごとの平均化ではなく指数移動平均を計算している。 その場合、EMAという別の名称を使うことが一般的になっている。PyTorchでも、こちらのissueでSWAのモジュールをEMAに対応させている。 ドキュメントにもEMAの記載が追加されている。 torch.opt…
Plots.jlのGRバックエンド用フォントパッチ(Windows用)に引き続き,今度はLinux用を 実装してみた。基本的にはfc-listの出力を加工しているので,OSのfontconfigモジュールがないと実行できない。 サーバーとかでデスクトップ環境がないマシンでは実行できない可能性が高いので注意されたし。 juliaが実行できるunix系環境ではfc-listが実行できるのなら同じように使える可能性が高いと思います。 さて早速パッチを紹介してみよう。といっても,前回とほとんど同じ。
Julia言語のPlotsのGRバックエンドでttcフォントを使う方法とかを記事として挙げていたけど legend_font_family(Plots.jl(GR))のようにフォント名一覧が取れることが分かって これって普通にWarningなしにできなくない? ということで,実装してみた。今回はWindows用。
【いまやHPは名刺と同じ】 こんにちは。セールスコピーライターの大西もとやです。 あなたがこのサイトを訪れているということは、 HPが欲しいいまのHPを新規にしたいHPで自分の発信をしたい でも、結構大変だよねー と思ったからだと思います。 普段、文章や画面を見続けて思考し続ける作業に慣れていない人は、1時間もその作業に耐えられないでしょう。だから、ライターという業種もあるのですね。 なんでも、モチはモチ屋といいますか、自力でできる事には時間も労力も限界があるものです。 なかでも、一番人に任せたいのがHPの運営かとおもいます。 なぜなら、HPは維持管理が必要で、記事の追加もして行く方が良いから…
この連載では、Pythonについて色々な形で再学習に取り組んでいます。前回の記事はこちらになります。 hirocom777.hatenadiary.org 前回は、辞書について学びました。辞書はリスト、タプルとは少し違った特徴がありますね。 今回も、辞書について学んでいきたいと思います。 辞書の内包表記 辞書はfor文を使って作ることができます。以下は辞書の作成例です。 d_1 = {} l_1 = ['A','B','C','D'] for key in l_1: d_1[key] = l_1.index(key) + 1 print(d_1) # {'A': 1, 'B': 2, 'C':…
ECMAScript の Boolean(value) の仕様の前半部分をなるべく詳細に読んでみました。
Pythonのdict()関数: 辞書型の柔軟な生成と操作 Pythonにおいて、dict()関数は辞書(dictionary)型を生成するための重要なツールです。辞書型はキーと値のペアを持ち、キーを用いて値にアクセスすることができる柔軟なデータ構造です。この記事では、dict()関数に焦点を当て、具体的なコード例を交えながら辞書型の生成と操作について詳しく解説します。 dict()関数: 空の辞書を生成 dict()関数は、空の辞書を生成するために使用されます。基本的な構文は以下の通りです。 empty_dict = dict() または、中括弧 {} を使用しても同様の結果が得られます。 …