NumPyを使ってリスト内の特定の数値の倍数を検索する方法
このプログラムでは、指定した数値の倍数が存在するインデックス位置を検索する方法を紹介します。この処理には、NumPyとPandasの両方のライブラリを使用します。
アルゴリズム
ステップ1:PandasのSeries(シリーズ)を定義します。 ステップ2:ユーザーから数値nを入力します。 ステップ3:NumPyライブラリのargwhere()関数を使用して、シリーズからその数値の倍数を検索します。
サンプルコード
import numpy as np
listnum = np.arange(1,20)
multiples = []
print("NumList:\n",listnum)
n = int(input("Enter the number you want to find multiples of: "))
for num in listnum:
if num % n == 0:
multiples.append(num)
print("Multiples of {} are {}".format(n, multiples))
実行結果
NumList: [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19] Enter the number you want to find multiples of: 5 Multiples of 5 are [5, 10, 15]
コードの解説
np.arange(1, 20)は、1から19までの連続した整数を要素とするNumPy配列を生成します。続くforループでは、配列内の各要素を順に取り出し、剰余演算子%を用いて入力された数値nで割り切れるかどうかを判定しています。余りが0になった場合、その数値はnの倍数であるため、結果を格納するリストに追加されます。
また、NumPyのargwhere()関数を活用すれば、条件を満たす要素のインデックス位置を直接取得することもできます。例えばnp.argwhere(listnum % n == 0)と記述すると、nの倍数に該当する要素のインデックスが配列形式で返されるため、より簡潔に倍数の位置を特定できます。
-
Pythonでリスト内の最初の非ゼロ(0以外)の数値を見つける方法
この記事では、Pythonを使って、与えられた数値のリストの中から最初に現れる非ゼロ(0以外)の数値を見つける方法を解説します。 リストの先頭に複数のゼロが含まれている場合などに、最初の有効な数値がどの位置にあるのかを効率的に特定するテクニックとして、2つのアプローチを紹介します。 方法1:enumerateとnextを組み合わせる まずenumerate関数を使ってリストの各要素とそのインデックスを取得し、次にnext関数を適用することで、条件を満たす最初の非ゼロ要素の位置を取得します。この方法では、ジェネレーター式を用いて簡潔に記述できるのが特徴です。 コード例 listA = [0,
-
セットを使って文字列内の母音の数をカウントするPythonプログラム
本記事では、Pythonを使って文字列内に含まれる母音の数をカウントする方法について解説します。セット(set)を活用した効率的な実装を中心に、初心者の方にもわかりやすく説明していきます。 問題の概要 問題文:任意の文字列が与えられたとき、その文字列に含まれる母音の数をセットを使って数えます。 基本的なアプローチとしては、文字列全体を先頭から順に走査し、各文字が母音であるかどうかを判定します。母音であればカウントを1ずつ増やしていき、最終的な合計を出力します。 実装例 def vowel_count(str_): count = 0 # 母音をセットとして定義 vowe