-
Pythonの辞書(dict)オブジェクトからキーと値のペアのサブセットを抽出する方法
辞書内包表記を使ったサブセット抽出の基本Pythonで辞書オブジェクトから特定の条件に合うキーと値のペアだけを取り出したい場合は、辞書内包表記(dictionary comprehension)を使うのが最もシンプルで効率的な方法です。ここでは、学生の名前と点数(パーセンテージ)を格納した辞書を例に説明します。>>> marks = { Ravi: 45.23, Amar: 62.78, Ishan: 20.55, Hema: 67.20, Balu: 90.75 }条件を指定して抽出する例たとえば、50%以上の点数を取った学生だけの名
-
Pythonのzip()関数で辞書とリストを組み合わせる方法
Pythonのzip()関数で辞書とリストを組み合わせる方法Pythonでは、組み込み関数zip()を使うことで、辞書のキーと値のペア(key-value pair)と、リスト内の対応する要素を1つずつペアにしてまとめることができます。複数のシーケンスを並行して処理したい場合に非常に便利な機能です。基本的な使い方まず、辞書のitems()メソッドでキーと値のペアを取得し、それをzip()に渡します。>>> dictionary = {A: 1, B: 2, C: 3} >>> num_list = [1, 2, 3] >>> zipped
-
テキストファイルからPython辞書(dict)を作成する方法
テキストファイルからPython辞書を作成する方法Pythonでは、テキストファイルの内容を読み込んで、辞書(dict)形式に変換することができます。ここでは、その具体的な手順をサンプルコードとともに解説します。前提となるテキストファイルまず、次のような内容のテキストファイル(dict.txt)が存在すると仮定します。1 aaa2 bbb3 ccc各行は「キー」と「値」がスペースで区切られた構造になっています。辞書への変換コード以下のPythonコードでは、open()関数を使ってファイルを開き、1行ずつ読み込みます。読み込んだ各行は文字列として扱われ、split()メソッドによってスペースで
-
Pythonの辞書から最大のキーを取得する方法
Pythonの辞書から最大のキーを検索する方法 Pythonに標準搭載されている辞書(dict)クラスには、keys() メソッドが用意されています。このメソッドを使うと、キーと値のペアからすべてのキーを取り出すことができます。 さらに、組み込み関数 max() を使うことで、取得したキーの中から最大値(一番大きいキー)を簡単に求められます。 基本的な使い方 まず、サンプルとなる辞書を作成し、keys() メソッドでキーの一覧を取得します。 >>> dct = {1: 45, 2: 76, 3: 12, 4: 55, 5: 33} >>> klist = d
-
Pythonで辞書(dict)の最大値を取得する方法【values()とmax()の使い方】
Pythonの組み込み型である辞書(dict)には、キーと値のペアから値だけを抽出できる values() メソッドが用意されています。このメソッドの戻り値に対して、組み込み関数 max() を使うことで、辞書内の最大値を簡単に取得できます。values()メソッドで値の一覧を取得するまず、values() メソッドを呼び出すと、辞書に含まれるすべての値が dict_values オブジェクトとして返されます。以下はその基本的な使用例です。>>> dct = {1: 45, 2: 76, 3: 12, 4: 55, 5: 33} >>> vlist = dc
-
Pythonで2つの変数の値を交換する方法【一時変数あり・なしの2パターン】
はじめにプログラミングにおいて、2つの変数が持つ値を入れ替える「スワップ(交換)」処理は非常によく使われる基本操作です。この記事では、Pythonで変数を交換する2つの方法を、実際のコード例とともにわかりやすく解説します。方法1:一時変数を使う方法最も古典的で汎用的なのが、もう1つの一時変数(テンポラリ変数)を介して値を入れ替える方法です。他の多くのプログラミング言語でも同様の手法が使われます。>>> x = 10>>> y = 20>>> z = x # x の値を一時変数 z に退避>>> x = y # y
-
【初心者向け】Pythonでキロメートルをマイルに変換する方法をわかりやすく解説
キロメートルからマイルへの変換比率 キロメートル(km)とマイル(mile)の関係は、次の比率で表されます。 1 km = 0.621371 マイル この係数さえ覚えておけば、Pythonを使って距離の単位を簡単に変換できます。 基本的な変換方法 キロメートルの値に 0.621371 を掛けるだけで、マイルへ変換できます。最もシンプルな方法は、次のような一行の計算です。 >>> km = 5 >>> m = km * 0.621371 >>> m 3.106855 この例では、5 km をマイルに変換すると、約 3.11 マイル という結
-
Pythonで摂氏を華氏に変換する方法をわかりやすく解説
温度の単位である摂氏(℃)を華氏(℉)に変換したい場面は、プログラミング学習やデータ処理の中でよくあります。Pythonを使えば、この変換は非常にシンプルな計算式で実現できます。 摂氏から華氏への変換公式 摂氏の値を華氏に変換するには、1.8倍して32を足すという計算を行います。数式で表すと以下のようになります。 f = c * 1.8 + 32 ここで、c が摂氏の温度、f が変換後の華氏の温度です。 Pythonインタプリタでの実行例 実際に、摂氏50度を華氏に変換してみましょう。以下はPythonインタプリタでの実行例です。 >>> c = 50 >>>
-
Pythonで数値が正・負・ゼロのどれかを判定する方法をわかりやすく解説
Pythonでは、ユーザーから入力を受け取った数値が正の数(プラス)、負の数(マイナス)、ゼロのどれに該当するかを、条件分岐を使って簡単に判定できます。この記事では、代表的な2つの実装方法——if-elif-else文を使う方法と、ネスト(入れ子)構造のif文を使う方法——をコード例とともに紹介します。方法1:if-elif-else文を使う最もシンプルで読みやすいのが、if-elif-else文による三択分岐です。条件は上から順に評価され、最初に真(True)になったブロックだけが実行されます。num = float(input(数値を入力してください: )) if num > 0:
-
Pythonで数値が奇数か偶数かを判定する方法を解説
Pythonで数値が奇数か偶数かを判定する方法 Pythonでは、剰余演算子(%)を使うことで、数値が奇数か偶数かを簡単に判定できます。剰余演算子は「余り演算子」とも呼ばれ、ある数を別の数で割ったときの余りを求めるための演算子です。 判定の考え方はシンプルです。対象の数値を2で割り、その余りを確認します。余りが0であれば偶数、0以外(1)であれば奇数であると判断できます。 サンプルコード no = int(input(enter number)) if no % 2 == 0: print({} is even.format(no)) else: print({} is odd
-
Pythonでうるう年(閏年)を判定する方法をわかりやすく解説
うるう年(閏年)は基本的に4年ごとに訪れます。通常の年であれば「4で割り切れる年」がうるう年となりますが、世紀の年(1900年や2000年など100で割り切れる年)については、「400で割り切れる年」のみがうるう年とみなされます。そのため、2000年はうるう年ですが、1900年はうるう年ではありません。このルールを踏まえると、Pythonでの判定ロジックは次の手順になります。年が100で割り切れるかどうかをチェックする(世紀の年かどうかの判定)世紀の年の場合は、400で割り切れればうるう年それ以外の年の場合は、4で割り切れればうるう年サンプルコードyr = int(input(enter ye
-
PythonでNamed Tuple(名前付きタプル)を辞書に変換する方法
Pythonのnamedtupleクラスは、標準ライブラリのcollectionsモジュールで定義されています。このクラスは新しいタプルのサブクラスを返し、そのサブクラスを使うことで、属性アクセスでフィールドにアクセスできるうえ、インデックス操作やイテレーションにも対応したタプル風オブジェクトを作成できます。コンストラクタには型名とフィールド名のリストを引数として渡します。 Named Tupleの定義方法 例えば、学生情報を扱う「student」というnamedtupleは、次のように宣言します。 >>> from collections import namedtu
-
Pythonでタプルをサブタプルに分割する方法
スライスを使ったタプルの分割 Pythonでは、スライス(スライシング)操作を利用することで、ひとつのタプルを複数のサブタプルに簡単に分割できます。ここでは、12個の整数を含むタプルを、各3要素ずつ4つのサブタプルに分ける例を紹介します。 基本的な考え方はシンプルです。元のタプルから「連続する3要素」をスライスで切り出し、それを順番にリストへ追加していくだけです。最終的に得られるのは、3つの数値を持つタプルが4つ格納されたリストになります。 コード例 >>> tup = (7, 6, 8, 19, 2, 4, 13, 1, 10, 25, 11, 34) >>&g
-
Pythonの辞書(dict)に特定のキーが存在するかどうかを確認する方法
in演算子を使ったキーの存在確認 Pythonでは、メンバーシップ演算子 in を使うことで、辞書(dict)オブジェクトに特定のキーが存在するかどうかを簡単に確認できます。辞書に対して in を適用すると、デフォルトでキーが検索対象になります。 >>> d1 = {1: aaa, 2: bbb, 3: ccc, 4: ddd, 5: eee} >>> 3 in d1 True >>> 9 in d1 False この例では、キー 3 は辞書 d1 に存在するため True が返され、存在しないキー 9 に対しては False が返されます
-
Pythonで辞書(dict)をCSVファイルに保存する方法を徹底解説
CSV(Comma Separated Values、カンマ区切り値)は、多くのプラットフォームやアプリケーションで広くサポートされている、最も一般的なデータ交換用ファイル形式です。Pythonで扱った辞書型(dict)のデータをCSVとして保存できれば、Excelなどの表計算ソフトでも簡単に開けるようになります。 ここでは、Pythonの標準ライブラリである csvモジュール を使って、辞書をCSVファイルに書き出す2つの方法を紹介します。 方法1:open()関数とwrite()メソッドを使うシンプルな方法 最も手軽なのは、open() 関数でCSVファイルを書き込みモード(w)で開き、
-
Pythonに「等しくない」演算子はありますか?
Pythonにおける「等しくない」演算子とははい、Pythonには「等しくない(not equal)」を判定するための演算子が用意されています。最も標準的に使われているのは != 演算子です。Python 2.x の場合:2種類の記法が存在Python 2.x では、!= と <> の2つの記号がどちらも「等しくない」演算子として定義されており、まったく同じ動作をします。x = 10 y = 20 print(x != y) # True print(x <> y) # True(Python 2.x のみ有効) つまり、Python 2 の時代にはプログra
-
Pythonのビット演算子「|」(縦棒)とは?ビットごとのOR演算をわかりやすく解説
Pythonにおける「|」(垂直バー)の意味Pythonで使用される垂直バー(|)は、ビットごとのOR(bitwise OR)演算子を表します。2つの整数オブジェクトに対してこの演算子を適用すると、それぞれの数値を2進数に変換したうえで、各ビット位置ごとにOR演算が実行され、その結果が返されます。OR演算では、対応するビットのどちらか一方でも「1」であれば、結果は「1」になります。両方とも「0」の場合のみ「0」となります。実際のコード例以下の例では、整数 4 と 5 に対してビットごとのOR演算を行っています。>>> a = 4 >>> bin(a) 0b1
-
Pythonで__lt__と__gt__による比較演算子のオーバーロードを実装する方法
Pythonには、演算子の挙動をカスタマイズ(オーバーロード)するための「マジックメソッド(特殊メソッド)」が用意されています。比較演算子(<、<=、>、>=、==、!=)は、それぞれ対応するマジックメソッドである __lt__、__le__、__gt__、__ge__、__eq__、__ne__ をクラス内に定義することでオーバーロードできます。以下のプログラムでは、フィート(ft)とインチ(inch)で距離を表す「distance」クラスを作成し、< 演算子と > 演算子をオーバーロードして、オブジェクト同士を比較できるようにしています。class di
-
Pythonの@演算子(デコレータ)とは?仕組みと使い方をわかりやすく解説
Pythonにおける@演算子の役割 Pythonでは、@記号はデコレータを定義するために使用されます。デコレータは、高階関数を呼び出すためのシンプルで読みやすい構文を提供します。定義上、デコレータとは「別の関数を受け取り、その関数本体を明示的に変更することなく、元の関数の振る舞いを拡張する関数」のことです。 デコレータの2つの種類 Pythonのデコレータには、主に以下の2種類があります。 関数デコレータ(Function Decorators) — 関数に対して適用される クラスデコレータ(Class Decorators) — クラスに対して適用される デコレータの基本的な仕組み
-
Pythonで比較演算子をオーバーロードする方法をわかりやすく解説
Pythonには、演算子の挙動をカスタマイズ(オーバーロード)するための「マジックメソッド(特殊メソッド)」が用意されています。比較演算子(<、<=、>、>=、==、!=)をオーバーロードしたい場合は、それぞれに対応するマジックメソッド __lt__、__le__、__gt__、__ge__、__eq__、__ne__ をクラス内に定義します。 各比較演算子と対応するマジックメソッド 演算子マジックメソッド <__lt__ <=__le__ >__gt__ >=__ge__ ==__eq__ !=__ne__ サンプルプログラム:di