ホームページ > バックエンド開発 > Python チュートリアル > Python を使用して、一意の要素を持つランダムな整数のソートされたリストを取得するにはどうすればよいですか?

Python を使用して、一意の要素を持つランダムな整数のソートされたリストを取得するにはどうすればよいですか?

WBOY
リリース: 2023-08-21 20:28:32
転載
1581 人が閲覧しました

Python を使用して、一意の要素を持つランダムな整数のソートされたリストを取得するにはどうすればよいですか?

乱数の生成は、プログラミング、統計、機械学習モデルなどで最もよく使われる手法の 1 つです。一意の要素を持つランダムな整数のソートされたリストの生成は、このタスクのサブフィールドです。ただし、コンピューターは決定論的な機械であるため、実装を通じて乱数を生成することは賢明なアイデアとなる場合があります。この記事では、Python を使用して、一意の要素を持つランダムな整数の並べ替えられたリストを取得する方法を説明します。

ランダムモジュールを使用した関数の例

サンプリング方法では、指定された母集団から k 個の要素のランダムなサンプルが生成されます。これには 2 つの必須パラメータが必要です。1 つ目は要素のリストで、2 つ目はサンプル リストに含める必要がある要素の数です。

###文法### リーリー

関数サンプルは、反復可能なオブジェクトと結果に存在する必要がある要素の数という 2 つの必須パラメーターを受け入れます。反復可能なオブジェクト内の k 要素をリストとして返します。

リーリー

この関数は反復可能なオブジェクトを並べ替えます。必須パラメータとして反復可能なオブジェクトを取ります。 key パラメーターを使用して要素のキーを設定することもできます。 reverse パラメーターを使用して、ソートされた反復可能オブジェクトの逆の形式を返すこともできます。

Example

の中国語訳は次のとおりです:

Example

次のコードでは、まず Python のランダム モジュールをインポートします。次に、開始範囲、終了範囲、要素数の 3 つのパラメーターを受け入れるgenerate_sorted_random_integers 関数を作成しました。 range メソッドを使用して整数範囲のリストを作成し、sample メソッドを使用してそこからいくつかのサンプルを取得し、最後にsorted メソッドを使用して配列を並べ替えます。

リーリー ###出力### リーリー

Numpy モジュールの使用

Numpy は、数値計算に使用される Python の人気ライブラリです。乱数を作成する関数も提供します。 sort メソッドを使用してリストを並べ替えたり、choice メソッドを使用して k 個の要素をランダムに選択したりできます。

###文法### リーリー

Example

の中国語訳は次のとおりです:

Example

次の例では、Numpy ライブラリをインポートした後、generate_sorted_random_integers 関数を定義します。この関数は、開始値、終了値、および要素の数をパラメータとして受け取り、ランダムに並べられたリストを返します。関数の下では、 range 関数を使用してシーケンスを生成し、choice メソッドを使用してそこから必要な数の要素を選択し、最後に sort メソッドを使用してリストを並べ替えます。

リーリー ###出力### リーリー

リスト内包表記と並べ替えの使用

リスト内包表記は、Python 開発者の間でよく使われるテクニックです。このアプローチの利点は、論理ステートメント、反復式、条件式などを 1 行のコードで結合し、それに基づいてリストの要素を生成できることです。これは、コード行の単一の派生を記述するのに役立ちます。

Example

の中国語訳は次のとおりです:

Example

次の例では、リスト内包表記を使用して、ソートされた乱数リストを作成します。 Python のランダム ライブラリを使用して目的の範囲の乱数を作成し、sorted メソッドを使用して乱数のリストを並べ替えます。ユーザー定義関数を呼び出し、必要なパラメータを渡し、結果を出力しました。

リーリー ###出力### リーリー

Lambda関数を使用する

Lambda 関数には名前がなく、コード行が少ない場合は従来の関数と同様に動作します。この関数はパラメータを受け取り、値を返すことができます。ただし、関数には名前がありません。通常、このような関数は、いくつかの操作を迅速に実行する必要があり、他の場所では使用されないと確信している場合に使用します。

の中国語訳は次のとおりです:

以下のコードでは、開始、終了、および要素の数をパラメーターとして受け取るラムダ関数を使用します。この関数はリスト内包表記も使用してリストの要素を生成します。 randint メソッドを使用して乱数を生成し、sorted メソッドを使用してリストを並べ替えます。

リーリー ###出力### リーリー

Lambda関数を使用する

Pandas は、Python の人気のあるデータ分析ライブラリです。これには apply という組み込み関数があり、これを使用してすべてのリスト要素に特定の操作を適用できます。ランダム ライブラリを使用して乱数を生成し、このメソッドを適用して要素を並べ替えることができます

Random で Pandas ライブラリを使用する

Pandas は、Python の人気のあるデータ分析ライブラリです。これには apply という組み込み関数があり、これを使用してすべてのリスト要素に特定の操作を適用できます。ランダム ライブラリを使用して乱数を生成し、このメソッドを適用して要素を並べ替えることができます

###文法### リーリー

Pandas データ フレーム オブジェクトで apply メソッドを使用できます。関数の名前を必須パラメータとして受け取ります。この関数はデータフレームのすべての要素に適用されます。 axis パラメーターは、関数を行または列のどちらで使用するかを定義します。 Convert_type は、結果のシリーズのデータ​​型を、関数の戻り値から推論されるジェネリック型に変換するかどうかを示すブール値です。

Example

的中文翻译为:

示例

我们在以下代码中首先导入了Pandas库,并使用pd作为别名。接下来,我们使用DataFrame方法创建了一个名为df的数据帧。我们对数据帧使用了apply方法,并使用generate_sorted_random_integers函数对所有数字进行处理。generate_sorted_random_integers函数使用了sampling方法来随机抽样一些数字,并使用sort方法对数字列表进行排序。

import pandas as pd
import random
df = pd.DataFrame({
    'start_range': [1, 1, 1],
    'end_range': [100, 100, 100],
    'num_elements': [10, 10, 10]
})
def generate_sorted_random_integers(row):
    random_list = random.sample(range(row[0], row[1] + 1), row[2])
    random_list.sort()
    return random_list
random_list = df[['start_range', 'end_range', 'num_elements']].apply(generate_sorted_random_integers, axis=1).tolist()
print(f"A multidimensional sorted list of random integers with unique elements are as follows: {random_list}")
ログイン後にコピー

输出

A multidimensional sorted list of random integers with unique elements are
as follows: [[11, 28, 31, 32, 35, 58, 73, 82, 88, 96], [17, 26, 42, 45, 47,
55, 89, 97, 99, 100], [26, 32, 66, 73, 74, 76, 85, 87, 93, 100]]
ログイン後にコピー

结论

在这篇文章中,我们了解了如何使用Python获取一个具有唯一元素的随机整数排序列表。random模块是生成随机数的最常用方法,因为它专门为此目的设计。然而,为了生成一个排序列表,我们还需要使用Python中的其他一些方法,比如choice、sample、lambda函数等。

以上がPython を使用して、一意の要素を持つランダムな整数のソートされたリストを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート