Pythonのenumerate関数でfor文のインデックスを取得
Pythonのenumerate関数でfor文のインデックスを取得 enumerate関数を使うとPythonでforを書くときに処理毎にカウントアップしたり、値を代入したりといった処理が簡単にできるので便利です。 実際 […]
Filter by Category
Pythonのenumerate関数でfor文のインデックスを取得 enumerate関数を使うとPythonでforを書くときに処理毎にカウントアップしたり、値を代入したりといった処理が簡単にできるので便利です。 実際 […]
サイトのカラーリングを青と黄色のウクライナカラーにしました ロシアによるウクライナ侵攻の早期停戦を願ってサイトのカラーリングをウクライナ国旗をイメージした青と黄色のウクライナカラーにしました
衣服の図面画像を読み込ませるとその種類を返すシステムを作成した。 学習モデルについて 画像から輪郭だけを抽出した輪郭画像と、オリジナル画像の2つを入力データにすることにした。 例えばTシャツならTの字になっているし、スカ […]
今回、画像分類で精度を高めるために複数データの入力できる学習モデルを作成した。その経緯から始めて実際のモデリングまでを書くことにする。 前提 今回は洋服の図面を読み込み、それがなんの種類かを判別するCNNを作成した。 図 […]
pythonのOpenCVで輪郭を上手く抽出することができなかったが、いくつかの改善点により上手く行った経緯をここに書き残しておく。 改善前 これは50×50のスカートの画像である。単にfindcontourし […]
Jupyter NotebookでもBlackでコードフォーマット コードの可読性を上げて保守性を高めたり、コードの属人化を防いで生産性を向上させるためのルール(コーディング規約)に則った開発を行うために、ファントムでは […]
PythonのRequestsを使ってSlackに通知 フォームから送られた内容やプログラムの処理結果や途中結果をSlackに通知する方法です。 以下のコードのBOT USER TOKENとCHANNEL NAMEを任意 […]
2022年度 採用についてのお知らせ 概要2022年度の採用募集を開始します。(フルタイム、副業問わずビデオ会議等で意見交換からでもOKです。) 募集職種・インフラエンジニア・ウェブアプリケーションエンジニア・機械学習エ […]
Pythonのf文字列を使った書式パターン この記事で紹介したf文字列を使った文字列の操作ですが、文字列に変数を埋め込む際に書式を指定できます。0埋めして文字数を揃えたり、カンマで桁を区切ることも可能です。 カンマで桁区 […]
Pythonのf文字列を使った文字列の操作 Pythonのf文字列は{1}や{a}のように変数を{}(波括弧)で囲うことで、文字列の中に変数を挿入できるので直感的な記述ができるようになります。従来のように複数の変数や文字 […]
Pythonのargparseでコマンドライン引数をパース argparseモジュールを使って、Pythonを実行する際にコマンドライン引数を指定してプログラム内に情報を渡す方法です。 引数によって処理を変えたり、別々の […]
Announcement about Internships for 2022 日本語のページ OverviewWe’re now accepting applications for full remote […]
2022年度 インターンシップについてのお知らせ For English page 概要2022年度のインターンシップの募集を開始します。 募集職種・インフラエンジニア・ウェブアプリケーションエンジニア・機械学習エンジニ […]
最新情報をお届けするメルマガ始めます 本ブログも開始から3年ほどが経過しこれまでに多くの方にアクセスしていただきました。なかにはブログ経由でスタッフや学生インターンとして採用にいたったり、新規プロジェクト、新規案件をまか […]
ERROR: ResolutionImpossible docker-composeコマンドでビルドした際にERROR: ResolutionImpossibleというエラーが発生しました。このエラーは複数の原因があるよ […]
PyCharm&DockerでもBlackでコードフォーマット venvなどで環境構築されたプロジェクトであれば、PyCharmのFile Wacherというプラグインでファイルの保存時にBlackによるコードの […]
Pythonでソートが効かないリストを文字列を操作してソートさせる [‘01234_B.jpg?X=n…’,‘12340_A.jpg?X=n…’,& […]
PythonでXserverからメール送信 レンタルサーバーで処理が終わった時や進捗を確認したいときにPythonでメールを送る方法です。今回はXserverでPythonを実行していますが、他のレンタルサーバーでもホス […]
UnicodeEncodeError: ‘ascii’ codec can’t encode Pythonのprint() 関数で文字列を出力する時に以下の様なUnicodeEncod […]
enumerate関数を使うとPythonでforを書くときに処理毎にカウントアップしたり、値を代入したりといった処理が簡単にできるので便利です。
実際の開発でよくある最初のループでは処理を飛ばして、2回目以降の処理でインデックスを振っていくプログラムをenumerate関数を使って書きます。
enumerateを使うパターンと使わないパターン、後半のリスト作成ではリスト内包表記を使うパターンと使わないパターンの説明をします。
l = ["a", "b", "c"]
i = 0
for v in l:
if i > 0:
i += 1
print(f"list_{i}")
else:
i +=1
print(f"list")
インデックス用の変数を用意したり、ループ中でカウントアップしたりと細かいコードが増えます。
l = ["a", "b", "c"]
for i, v in enumerate(l):
if i > 0:
print(f"list_{i}")
else:
print(f"list")
enumerateを使うとインデックスを取得するコードを書かなくてよいので、記述量が少なくなりスッキリとしています。
l = ["a", "b", "c"]
some_var = []
for i, v in enumerate(l):
if i > 0:
some_var.append(f"list_{i}")
else:
some_var.append(f"list")
some_var
格納用の空リストをはじめに用意して処理ごとにアペンドします。
l = ["a", "b", "c"]
some_var = [f"list_{i}" if i > 0 else f"list" for i, v in enumerate(l)]
some_var
リスト内包表記を使うと6行分のコードを1行で書くことができます。
群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。
メーリングリストに登録するとファントムの最新情報をお届けします
お客様のメールアドレスを共有することはありません