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] #-- リ…
昨日のABC188ではD問題で辞書型を使うと楽という問題があり、また類似の問題がたまたまAtCoder ProblemsのRecommendationで出てきたのでまとめておく。ABC188 D - Snuke Prime : 私の解答 ABC105 D - Candy Distribution : 私の解答 2021年1月19日追記 キーエンス プログラミング コンテスト 2021 B - Mex Boxes : 私の解答辞書型を使うと特定のキーワードをまとめて処理する際に役立つ。なので同じkeyは一つの塊として処理したい場合に使うと良さそうである。 ABC188のDではある日数で利用が始ま…
第8回、9回に引き続きコンテナの紹介です。 第8回:Pythonプログラミング入門 List(リスト) - 週末SEのメモブログ 第9回:Pythonプログラミング入門 tuple(タプル) - 週末SEのメモブログ dict(辞書型)は、Listやtupleと同じくコンテナの一種です。 違いとしては、Listやtupleが1つのオブジェクト単位で格納できたのに対し、dictは2つのオブジェクトを関連付けて格納します。 2つのうち片方のオブジェクトはキーと呼ばれ、オブジェクトの格納時や取得の際に必要になります。もう一方のオブジェクトは、バリューと呼ばれ紐づけられる(呼び出し対象になる)値になり…
当たり前の話ではありますが。 Userクラスの配列からuser_idをキーに検索したい、emailをキーに検索したい等々の特定のキーがある場合、辞書型を経由すると非常に早く値を取得できます。 前提 Python 3.9 対応 配列を辞書型に変換する 最初にUserクラスを定義します。 class User: def __init__(self, user_id): self.user_id = user_id user_id: str 作成したUserクラスを元にuser_idをkeyとして、valueがUserクラスの辞書型を作成します。 # ユーザ配列の作成 users = [User(u…
PythonからのExcelファイル読み書き自動化の方法を説明していきます。 やり方は、代表的な外部ライブラリであるopenpyxlを使用したもので具体例を挙げてサンプルコードをつけています。 これを行うために必要となるPythonのダウンロードとインストールについては以下の記事で説明しています。 kuku81kuku81.hatenablog.com また、コーディングを行うのに必要なエディターとしておすすめのVisualStudioCodeのダウンロードとインストール、日本語化、Python拡張機能のインストールなどの説明は以下の記事で説明しています。 kuku81kuku81.haten…
一つの値が返される場合 セルに入力されたPythonコードが評価された結果、最後の式が一つの値を返す場合は、その値がセルに表示されます。 値の左側に表示されるアイコンは、表示が Pythonオブジェクト であることを示しています。この表示は、数式バーの左にある同じアイコンをクリックすると、 Excelの値 の表示に変更できることが分かります。 変更すると、セルに表示されていたアイコンは消え、いつものエクセルのセルのように見えます。 表示の切り替えは、このアイコンをクリックして行うか、以下のショートカットキーを使用します。 Ctrl + Shift + Alt + M Pythonの入力モードに…
JS実行サンプル なでしこ3にはjavascriptを文字列で与えて実行する JS実行 命令があります。 以下は変数aaaをalert…なでしこ3の言う命令を実行させるところです 「const aaa = "こんにちは"; alert(aaa)」をJS実行 この変数aaaに、なでしこ3側で用意した変数を渡したいときの書き方を考えます。 「{変数名}」で渡す(いまいち) 挨拶は「こんにちは」 「const aaa = "{挨拶}"; alert(aaa)」をJS実行 まず、なでしこの変数「挨拶」に「こんにちは」を入れて、{}を使った変数の展開する方法が考えられます。 これにはいくつか面倒な点があ…
napalmを使用してCisco IOS-XRデバイスから情報を取得する方法 napalmとは napalm (Network Automation and Programmability Abstraction Layer with Multivendor support) は、異なるネットワークデバイスベンダー間で共通のAPIを提供するPythonライブラリです。この記事では、napalm を使用して Cisco IOS-XR デバイスに接続し、基本的な情報を取得する方法を説明します。 napalm.readthedocs.io 動作環境 スクリプト実行側: OS: macOS Pytho…
最近RPAを初めて触ったのですがその際に詰まった事があり、参考記事が少なかったので共有します。 依頼された要件は毎日手動更新しているものがあるので、スクレイピングをして自動化してほしいという内容です。(対象は自社サイト) automation anywhereを使用して作成する事も要件にあり、これのみで作成しています。 csv読み込み → URLにリクエスト → 特定の値を取得する → csv更新 まず作成したものの全容です。 csvのURLからサイトの特定のtextを取得してcsvに格納、更新するというものです。 csv,ループなど..プログラムの構文と同じ感じで使用できます。 REST ア…
ディープコピーとシャロウコピー Verseのコピー演算子で気を付けたいこと 3月末からVerseを触ってきましたが、8月になって初めてあることに気づきました。 それは、 Verseのmapやarrayはディープコピーされる! ということです。 辞書型やリスト型のコピー演算子は、シャロウコピーとなっているプログラミング言語の方が一般的だと思われ、この5か月間、Verseもシャロウコピーだろうと完全に勘違いしてコーディングを行っていました。😢 どういった場合がシャロウコピーになり、どういった場合がディープコピーになるのか、EpicのTim御大が直々フォーラムで返答していました。 Question …
この記事では、Pythonで扱う基本的なデータ型についてまとめてみたいと思います。Python3系のインタラクティブシェルで各データ型の扱いについて確認していきます。 文字列型 (str型) 整数型 (int型) 浮動小数点数型 (float型) 複素数型 (complex型) 論理型 (bool型) リスト型 (list型) 辞書型 (dict型) タプル型 (tuple型) 集合型 (set型) 和集合 積集合 差集合 排他的論理和集合 文字列型 (str型) データを文字列として扱うデータ型は「文字列型 (str型)」と呼ばれます。データを シングルクォーテーション または ダブルクォー…
VSCodeで、pythonからローカルのPostgreSQLにアクセスする例。 環境:・Windows・PostgreSQLがインストールされている・SQLクライアントはA5:SQL Mk-2 目次 psycopg2とは psycopg2のインストール 単純なデータの取得 辞書型で取得する 変数を使う Pythonのリストとタプルの違い 参考 psycopg2とは psycopg2(サイコピージー):PythonからPostgreSQLに接続するためのライブラリ psycopg2のインストール pip install psycopg2 Pythonライブラリのインストール(pipの使い方) …
前回の続き。 なでしこ3webkit版の特殊命令「内部情報取得」系の命令を使ってみます。 非同期命令の「内部情報取得時には」と、 そうじゃない「内部情報取得」があります。 触って分かったのですが、戻り値の型が違うので注意が必要です。 ここではwindows用のwebkit版v3.4.13を使用しています。 未来のバージョンでは仕様が変更になる可能性があります。 「内部情報取得時には」命令 まずは「内部情報取得した時」について見てみます。 サンプルでは対象を反復しているところをみるに、「対象」に返ってきて、辞書型であるようです。 //なでしこ3webkit版v3.4.13 内部情報取得した時には…
今日の積み上げ AI学習 Progateの次に学ぶ!Python演習問題100問パック!〜データ型・制御構文編〜:87/100完了 AI学習 今日はPython演習100問パックを7問やりました。 ここまででPython基礎のデータ型についての学習を終了したことになります。 残りは総仕上げ問題とおまけのSectionのみ。(やっとここまで来ました!) ここまでの進捗状況をふりかえっておくと、以下の通りです。 Section2:Python基本文法【10問】→7/17完了 Section3:数値型【5問】→7/17完了 Section4:文字型【10問】→7/17完了 Section5:リスト型…
G-gen 又吉です。Google Cloud (旧称 GCP) の事前トレーニング済みの API のひとつである Cloud Vision API を用いて車のナンバープレートをマスキングする処理をご紹介します。 はじめに Vision AI Vision API 事前確認でわかったこと 構成図 準備 ディレクトリ構成 main.tf gcf_source_code/detect_car main.py requirements.txt gcf_source_code/detect_license_plate main.py requirements.txt 動作検証 検証データ 実行 Cl…
今日の積み上げ AI学習 Progateの次に学ぶ!Python演習問題100問パック!〜データ型・制御構文編〜:75/100完了 AI学習 今日はPython演習100問パックを5問やりました。 辞書型はリスト型についで問題数も多く、いろいろと調べながら進めています。 想定より時間がかかっていますが、ChatGPTを駆使しなが、とてもよい環境で学習できています。 のろまな亀のようなスピード感ですが、あまり気にし過ぎず、自分のペースで地道に積み上げをやっていこうと思います。 それでは、また。
今日の積み上げ AI学習 Progateの次に学ぶ!Python演習問題100問パック!〜データ型・制御構文編〜:70/100完了 AI学習 今日はPython演習100問パックを7問やりました。 これまでわからないところはググッて調べていましたが、今日はChatGPTを使って学習するようにしてみました。 なかなか、と言うか、「かなりイイ」です! ズバッと正解が出るのはもちろん凄いんですが、それよりも自分が気になってることを納得がいくまでトコトン掘り下げられるのが凄くいいです。 例えば、 new_d = {**d1, **d2, **d3} というコードの「**」はどういう意味があるのか zi…
こんにちは、Insight EdgeでData ScientistのKNです。Insight Edgeでは多種多様なDX案件を手掛けており、その多くでは機械学習や統計解析を用いた分析コードを作成することが求められます。 分析チームの開発言語は基本的にPythonが使われています。PoCの段階ではJupyter Notebookを用いてEDAや可視化、モデル構築がよく行われます。そして、PoCを終え期待した効果が確かめられた場合はPoCで作成したコードをそのまま採用せずに、長期運用を前提としたproduction-readyなコードに書き換える必要があります。 本記事では、主にデータ分析で使われ…