Pythonはリスト内の要素をランダムにシャッフルします

リスト内の要素をランダムにシャッフルします#

リスト内の要素をランダムにシャッフルする独自の関数を作成します

オプション1:交換方法##

元のリストインデックスをランダムに選択し、インデックス位置で値を交換します

import random

def random_list1(li):for i inrange(0,100):
  index1 = random.randint(0,len(li)-1)
  index2 = random.randint(0,len(li)-1)
  li[index1], li[index2]= li[index2], li[index1]return li

li =[1,2,3,4,5]
test =random_list1(li)print(test)

オプション2:ランダムに選択してリストに再追加##

最初に元のリストa_copyのコピーを生成し、新しい空のリストの結果を作成してから、コピーリストの値をランダムに選択して空のリストの結果に保存してから、削除します

import random

def random_list2(a):
 a_copy = a.copy()
 result =[]
 count =len(a)for i inrange(0, count):
  index = random.randint(0,len(a_copy)-1)
  result.append(a_copy[index])
  del a_copy[index]return result

test =[1,3,4,5,6]
result =random_list2(test)print(result)

解決策3:システムには機能シャッフルが付属しています##

import random

test =[1,2,3,4,5]
random.shuffle(test)print(test)

Pythonのrandom.shuffle()関数を使用して、シーケンスをシャッフルできます。新しいシーケンスを生成するのではなく、シーケンス自体をシャッフルします。

添付ファイル:python ##のシャッフル関数

def shuffle(self, x, random=None):"""Shuffle list x in place, and return None.

 Optional argument random is a 0-argument function returning a
 random float in[0.0,1.0);if it is the default None, the
 standard random.random will be used."""

 if random is None:
  randbelow = self._randbelow
  for i inreversed(range(1,len(x))):
   # pick an element in x[:i+1]with which to exchange x[i]
   j =randbelow(i +1)
   x[i], x[j]= x[j], x[i]else:
  _ int = int
  for i inreversed(range(1,len(x))):
   # pick an element in x[:i+1]with which to exchange x[i]
   j =_int(random()*(i +1))
   x[i], x[j]= x[j], x[i]

Recommended Posts

Pythonはリスト内の要素をランダムにシャッフルします
Pythonマルチスレッドのリストを詳しく説明する
pythonでのwheelの使用法
Pythonの数字は何ですか?
Pythonのモジュールについて話す
pythonでのタプルの使用法
Python3クローラーでのAjaxの使用
pythonでのadbの機能は何ですか
pythonでround関数を使用する方法
Pythonでzip関数を使用する方法
Pythonでの歩留まりを理解するための記事
pythonのタブキーはどういう意味ですか
PythonはDoudizhuでカードのシャッフルを実装します
pythonでのリストの意味と使用法
pythonでformat関数を使用する方法
pythonに最初に精通した、pythonの文法規則
パイソンリスト学習
2.1 Pythonインタープリター(pythonインタープリター)
ubuntuでpythonをアンインストールした結果、非常に
ダウンロードしたモジュールをpythonでインストールする方法
Pythonで型を判断するための最良の方法
[902] pythonリストソート
Pythonでのパッケージの導入を理解する方法
pythonで番号のリストを理解する方法
Pythonデータの視覚化:Pythonの有名人は誰ですか?
歴史上初めて、PythonはJavaを上回りました!
pythonでファイルを開く方法は何ですか
03.Pythonエントリの演算子
Pythonの結合関数
12.Python3でのネットワークプログラミング
pythonでステートメントを印刷する
Pythonでの同時リクエスト
Pythonの基盤を統合する(2)
Pythonでのコンテキスト管理
pythonの算術演算子
PythonでのMongoDBの使用
PythonのStr文字列
Pythonでの計算ジオメトリ
pythonで円の領域を見つける方法
Pythonのハードコア操作を1分で学ぶ