Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonシャッフルリスト:ステップバイステップガイド

Pythonのrandom.shuffle()メソッドは、リスト内のアイテムの順序をランダムに変更します。このメソッドは、インデックス付けと組み合わせると、リストからランダムなアイテムを選択するのに役立ちます。 random.shuffle()メソッドは、変更するリストという1つの引数を受け入れます。


リスト内のアイテムの順序をランダム化したい場合があります。たとえば、店舗でラッフルの当選者を選ぶプログラムを作成しているとします。参加者のリストをランダムに再編成して、そのプログラムに勝者を選ばせることができます。

ここでrandom.shuffle() メソッドが入ります。random.shuffle() メソッドはランダムの一部です Pythonのモジュールであり、リスト内のアイテムをランダムに並べ替えるために使用されます。このチュートリアルでは、 random.shuffle()の使用方法について説明します。 メソッド。

Pythonシャッフルリスト

random.shuffle() Python関数は、リスト内のアイテムをランダムに並べ替えます。このメソッドは、リストからランダムにアイテムを取得するアプリケーションに役立ちます。 random.shuffle() メソッドは元のリストを変更します。この方法では、新しいリストは作成されません。

リスト データのコレクションを格納します。 Pythonリストは順序付けられています。つまり、リストにアイテムを格納すると、その位置にとどまります。これはリストの重要な機能ですが、リストの順序を入れ替える必要のあるプログラムを作成している可能性があります。

ランダム .shuffle() は、Pythonで疑似乱数ジェネレーターを実装するランダムライブラリの一部です。これは、 random.shuffle()を使用する前に メソッドでは、ランダムライブラリをコードにインポートする必要があります。これを行うには、コードに次を追加します。

import random

random.shuffle()の構文 方法は次のとおりです:

import random

random.shuffle(list_name, function)

random.shuffle() メソッドは2つのパラメーターを取ります:

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

  • list_name リストタプル 、または文字列 シャッフルする順序(必須)。
  • 機能 :0.0から1.0の間のランダムなフロート、またはその範囲内の別のフロートを返す関数の名前(オプション)。

関数の使用 random.shuffle()を使用したパラメーター 珍しいです。値の重みが異なるカスタムシャッフルアルゴリズムを使用する場合にのみ使用します。したがって、関数については説明しません。 random.shuffle()のパラメータ このチュートリアルでは。

文字列またはタプルに対してrandom.shuffle()メソッドを使用できます。いずれの場合も、random.shuffle()は元のデータを変更します。新しい文字列や新しいタプルなどの新しい値は作成されません。

Python random.shuffle():例

私たちの店でラッフルを実行しているとしましょう。受賞者には、ストア内のすべての商品に使用できる100ドルのギフトカードが贈られます。 2位の人には50ドルのギフトカードが贈られ、3位の人には25ドルのギフトカードが贈られます。

ラッフルに参加したすべての人の名前を含むリストがあります。私たちの目標は、勝者を決定するためにランダムな順序でリストを再編成することです。これを行うには、 random.shuffle()を使用します メソッド。

勝者を特定できるように、リストの順序をランダムに再編成するために使用できるコードは次のとおりです。

import random

raffle_entrants = ['Thomas Crane', 'Braden Cox', 'Adie Paulson', 'Leonardo Downs', 'Lindsay Knapp', 'Carl Sanderson']

print('Entrants (ordered)')
print(raffle_entrants)

print('Winners (random order)')
random.shuffle(raffle_entrants)
print(raffle_entrants)

この関数は次を返します:

Entrants (ordered)
['Thomas Crane', 'Braden Cox', 'Adie Paulson', 'Leonardo Downs', 'Lindsay Knapp', 'Carl Sanderson']
Winners (random order)
['Adie Paulson', 'Braden Cox', 'Carl Sanderson', 'Leonardo Downs', 'Thomas Crane', 'Lindsay Knapp']

最初の行では、Pythonimportステートメントを使用してランダムライブラリをインポートします。このライブラリには、 random.shuffle()が含まれています 後でコードで使用するメソッド。次に、 raffle_entrantsというPython変数を宣言します。 これには、ラッフルに参加したすべての人の名前が含まれます。

次の2行で、参加者(注文済み)というメッセージをコンソールに出力します。 、続いて raffle_entrantsのコンテンツ リスト。これにより、プログラムがリストをシャッフルする前にリストを確認できます。

勝者(ランダムな順序)」というメッセージをコンソールに出力します。 このコードでは、 random.shuffle()を使用しています raffle_entrantsのコンテンツをシャッフルするメソッド リスト。最後に、 raffle_entrantsを印刷します random.shuffle()を使用してシャッフルされた後のリスト 。

これで、ランダムにシャッフルされた名前のリストができました。上記の例によると、BradenCoxが1位を獲得したことがわかりました。 Thomas Craneが2位になり、LeonardoDownsが3位になりました。

コードの確認

コードを再度実行すると、新しく順序付けられたPythonリストが取得されます。コードを2回実行すると、次のようになります。

Entrants (ordered)
['Thomas Crane', 'Braden Cox', 'Adie Paulson', 'Leonardo Downs', 'Lindsay Knapp', 'Carl Sanderson']
Winners (random order)
['Braden Cox', 'Lindsay Knapp', 'Carl Sanderson', 'Leonardo Downs', 'Thomas Crane', 'Adie Paulson']

したがって、 random.shuffle() 使用するたびに、ランダムに編成されたリスト(技術的には疑似ランダムに編成されたリスト)が返されます。

結論

random.shuffle()を使用して、Pythonでリスト内のアイテムの順序をランダム化できます。 方法。この例では、 random.shuffle() 参加者のリストから抽選の当選者をランダムに選択するプログラムを作成するのに役立ちました。

Pythonプログラミングについてもっと知りたいですか? Pythonの学習方法ガイドをお読みください。このガイドでは、Pythonを学ぶためのヒントを紹介します。このガイドには、Pythonの知識を深めるのに役立つ学習リソースとコースのリストも含まれています。


  1. Pythonリバースリスト:ステップバイステップのチュートリアル

    組み込みのPythonを使用してリストを逆にすることができます reverse() または reverse() メソッド。これらのメソッドは、新しいリストを作成せずにリストを逆にします。 Python reverse() および reverse() は、元のリストオブジェクトの要素を反転します。 リストを逆にすることは、プログラミング言語の一般的な部分です。このチュートリアルでは、最も効果的なPythonリバースリストメソッドを分析します。 Pythonに顧客名のリストがアルファベットの逆順であり、アルファベット順に表示したいとします。そのためには、リストを逆にする必要があります。長

  2. Pythonインタープリター:ステップバイステップガイド

    Pythonインタープリターは、マシンに正しいバージョンのPythonがインストールされていることを確認しなくてもオンラインで存在するため、Pythonは非常にアクセスしやすく学習できます。この記事では、Pythonインタープリターとは何かについて説明し、オンラインで使用できる、より人気のある、初心者向けのインタープリターをいくつかリストします。 Pythonプログラムはどのように実行されますか? Pythonは、Javaと同様に、インタプリタ言語またはコンパイル言語として完全に分類することはできません。両方のほんの少しです。 この場合にコンパイルされるということは、どの