Pythonお悩み解決
id:hirokikyです。 今日はお客様からよくいただく、Pythonのデータ構造に関する質問を解説します。 質問: なぜPythonで「辞書のリスト」が使われる? 回答 Pythonで辞書のリストを活用する ここでのポイント なぜPythonの「リストのリスト」ではダメなのか?…
「このコードの中で `"""〜"""` をメモのように使用していますが、 `#` の場合とは何が違うんでしょうか?」という質問が届きました。今回はコメント(#)とdocstring(""")について詳しく解説します。
「スライスを使い、先頭文字列を取り出したいのですが、なぜ実行されないのでしょうか?」という質問が届いたので、解決法を紹介します。
こんにちはPyQサポートです。 今回は ==とin の使い分けについて紹介します。 質問 回答・解説 ==とinの違い 「in」演算子 サンプルコード Python公式ドキュメント:in演算 部分シーケンス判定のサンプルコード 包含判定のサンプルコード 質問 PyQクエスト19…
こんにちは。PyQサポートです。 質問 回答 タプルのアンパック サンプルコード1 アンパックではないタプルの代入の例 サンプルコード2 質問 タプルの解説の中で、「複数の変数に要素を代入する際 a, b = 100, 200 のように()を付けないこともできる」とあり…
こんにちは、PyQサポートです。 今日は、辞書の get メソッドを紹介します。 質問 回答 指定したキーがない場合 質問 「name = employees.get(employee_id)」の「employees.get」について、この.getはどのような処理をするものなのでしょうか? 回答 辞書.ge…
こんにちは、PyQサポートです。 今日は、for文などで利用される enumerate のオプションを紹介します。 質問 回答 具体例 質問 for index, work_time in enumerate(work_time_list, start=1) このコードの start=1 とはなんですか? 回答 for文で enumerate …
「if not re.match(r'\d\d\d-\d\d\d\d$', columns[1]): のr'\d\d\dのrですが、なくても同じ結果が出ます。そのrの機能を教えてください」という質問が届きました。今日は正規表現を指定する文字列についている `r` について紹介します。
ブール演算子 `or` の使い方について紹介します。 質問:「if name == 'うな重' or 'ビビンバ丼':」を実行してもすべてのnameに当てはまってしまいました。なぜでしょうか?
こんにちは、kamekoです。 行末に書かれた \ について解説します。 質問 回答 公式ドキュメント:字句解析 - 明示的な行継続 公式ドキュメント:字句解析 - 非明示的な行継続 質問 矢印箇所のバックスラッシュの意味を教えてほしいです。 for name in os.lis…
文字列と数値を結合する際に発生するエラー「TypeError: must be str, not int」を解説します。
PyQサポートのkamekoです。今日は、関数呼び出し時のキーワード引数の書き方について解説します。 質問 回答 引用: PEP 8 -- Style Guide for Python Code 質問 PEP8のクエストを消化した際に 「=の前後にスペースを入れる」とあったと思うのですが、以下の…
質問 回答 公式ドキュメントを読むべき理由 1. 公式ドキュメントにかかれていることが正であること 2. 公式ドキュメントは情報が網羅されていること まずは動かしてみることも大切です PyQサポートのsusumuisです。 今日は、学習サポートに寄せられた公式ド…
PyQサポートのkamekoです。今日は、正規表現の文字クラス内で使われる記号 ^ について解説します。 質問 回答 公式ドキュメント:正規表現 HOWTO 質問 [^a-z0-9_]の意味が良く分かりません。 print(bool(re.match('[^a-z0-9_]+', ''))) でFALSEになる例はあ…
PyQ開発チームの斎藤です。 データ分析のライブラリーであるpandasは、非常に便利ですが、なかなか効率的な書き方がわからないことがあります。ここでは、PyQに来た質問を例に「表のA列からB列の文字を除いた列Cを作成する」方法を紹介します。
今回のPythonお悩み解決は、プロのコードの書き方についてです。Pythonだけに限らず、プログラミングの全般に言える話だと思いますので、他の言語を学び始めた方もぜひ読んでみてください。
Pythonお悩み解決は、PyQスタンダードプランの質問からピックアップしてPythonの疑問を紹介します。この記事では、「 Pythonで `クラス.メソッド()` のように呼び出せるものがあるのですが、これは何ですか?」という質問にお答えします。
PyQサポートのkamekoです。今日は、文字列を正規表現パターンで分割するre.splitについて、 str.splitとの違いを具体例で比べながら解説します。 質問 回答:str.splitとre.splitの解説 公式ドキュメント:str.split 公式ドキュメント:re.split .splitの解…
こんにちは、PyQサポートkamekoです。正規表現の記号 [] について解説します。 質問 回答 具体例 正規表現の他の記号について 質問 正規表現で、「[//\t]+」はどういう意味ですか? 回答 記号 [] は、 [ と ] の中の文字のいずれかの1文字を意味します。 記…
質問 「 ifとtry...exceptはどう使い分けるんですか?違いは何ですか?」 質問 回答 例外についてのおさらい 例外のサンプルコード 例外をif で避けるのかexceptするのかの使い分け 例外の処理にifを使う場合 例外の処理にexceptを使う場合 具体例 例外を例…
こんにちは、PyQサポートkamekoです。正規表現の記号 + と、似た記号 * について解説します。 質問 回答 +は直前の記号を「1回以上」繰り返す 具体例 直前の文字が含まれていない時もマッチさせたいときは*を使う 具体例 正規表現の他の記号について 質問 正…
Pythonでは、値がNoneかどうかの判定に` if name is None: `を使います。ですが、` if name == None: `としても、プログラムの実行結果は同じになります。isを使ったほうがいい理由、同値性と同一性について解説します。
このPythonお悩み解決では「SyntaxError: SyntaxError EOL while scanning string literal」の読み解き方と解決方法を紹介します。
このPythonお悩み解決では「SyntaxError: unexpected EOF while parsing」の読み解き方と解決方法を紹介します
こんにちは、PyQ開発チームの斎藤です。 PyQへの質問で、pandas関連の質問をご紹介します。 なお、質問内容は、適宜アレンジしています。 質問 具体例 上手くいくケース 上手くいかないケース 原因 質問 2つの表を管理しています。片方の表を更新してマージ…
こんにちは、PyQ開発チームの斎藤です。 PyQへの質問で、pandas関連の質問をご紹介します。 なお、質問内容は、適宜アレンジしています。 質問 特定の文字列が入った行を抜き出したい 具体例を通して見ていきましょう。 df = pd.DataFrame( [['python', 1991…
「Pythonお悩み解決」コーナーでは、オンラインPython学習サービスPyQ(パイキュー)寄せられたPython学習の質問・回答をピックアップして回答しています。今回は論理演算子andとorの動きについて、少し深く解説しています。
オンラインPython学習サービスPyQ(パイキュー)に寄せられたPythonの質問と回答をピックアップして紹介する「Pythonお悩み解決」シリーズです。「webサイトをスクレイピングして、結果をpandasのDataFrameで保持しています。差分のDataFrameを取得した時に…
オンラインPython学習サービスPyQ(パイキュー)の学習サポートに寄せられたPython全般の質問に答える「Pythonお悩み解決」です。今回は、「何度も行う処理を関数にまとめる」ことの意味やメリットを説明します。
このPythonお悩み解決では「IndentationError: unexpected indent」の読み解き方と解決方法を紹介します。