Pythonのrandomモジュールにおけるsample()関数について現役エンジニアが解説【初心者向け】

初心者向けにPythonのrandomモジュールにおけるsample()関数について現役エンジニアが解説しています。randomモジュールとは、ランダムな値(乱数)を扱うモジュールです。sample()関数とはランダムに値を取り出す関数です。sample()関数の書き方や使い方について解説します。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

Pythonのrandomモジュールにおけるsample()関数について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonのrandomモジュールにおけるsample()関数について詳しく説明していくね!

大石ゆかり

お願いします!

この記事は、Pythonのrandomモジュールにおけるsample()関数についてについて解説している記事です。乱数を生成してデータ処理を行う必要がある人はぜひ覚えておくと良いでしょう。Pythonには標準の乱数生成モジュールがあるため、簡単に乱数生成を行うことができます。

目次

 

randomモジュールとは

randomモジュールとは、Pythonで組んだプログラムにおいてランダムな値(乱数)を使った処理を行うための関数などが定義されたモジュールです。

ramdom.”関数名”

のように使用します。

randomモジュールを使う場合は、このようにrandomモジュールをインポートする必要があります。

import random

 

[PR] Pythonで挫折しない学習方法を動画で公開中

sample()関数とは

sample()関数とは、シーケンス(リスト)からランダムに値を取り出す関数です。

randomモジュールのsample()関数の使い方

randomモジュールのsample()関数の使い方について解説します。

ramdom.sanple(シーケンス, 要素の数)

のように、指定した要素数だけ乱数のリストを得ることができます。

randomモジュールのsample()関数を利用してリストデータをランダムに取得してみよう

それでは、実際にrandomモジュールとsample()関数を使用してリストデータをランダムに取得してみましょう。andom.random()は、1未満の不動少数を出力する関数です。

import random
num1 = random.random()
num2 = random.random()
num3 = random.random()
num4 = random.random()
num5 = random.random()
a = {num1, num2, num3, num4, num5}
print(a)
b = random.sample(a, 2)
print(b)
c = random.sample(a, 4)
print(c)

実行結果は、こちらのようになります。

[0.006938114347753599, 0.1516392058186763, 0.14971363605503918, 0.6367388450364868, 0.2649466467423375]
[0.14971363605503918, 0.6367388450364868]
[0.14971363605503918, 0.1516392058186763, 0.2649466467423375, 0.6367388450364868]

ランダムに生成されたリストが、ランダムに2つ、4つと抜き出されていますね。

まとめ

いかがでしたでしょうか。Pythonのrandomモジュールにおけるsample()関数について理解できたでしょうか。randomモジュールにおけるsample()関数が正しく実行できれば、乱数を生成してデータ処理を実行できます。

正しく理解して活用しましょう。

監修してくれたメンター

メンター山崎

電機メーカー社員の組み込みハード、ソフトウェア系エンジニア。

新規製品のアプリケーション/アルゴリズムの提案や製品実装ソフトウェア実装、開発効率化スクリプトの作成などに従事する。PythonやRuby, VBA, C言語, C++, shellスクリプト, ハードウェア記述言語(Verilog HDL)など多数の言語と日々奮闘中。

趣味は野球、ギター、スノーボード、ウェイトトレーニング、食べログ巡りなどこちらも多数奮闘中。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間でPythonを使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプPython講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。