亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解Python中打亂列表順序random.shuffle()的使用方法

 更新時間:2019年11月11日 10:57:45   作者:chichu261  
這篇文章主要介紹了詳解Python中打亂列表順序random.shuffle()的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

之前自己一直使用random中 randint生成隨機數以及使用for將列表中的數據遍歷一次。

現(xiàn)在有個需求需要將列表的次序打亂,或者也可以這樣理解:

【需求】將一個容器中的數據每次隨機逐個遍歷一遍。

random.shuffle()方法提供了完美的解決方案。

不會生成新的列表,只是將原列表的次序打亂

# shuffle()使用樣例
import random

x = [i for i in range(10)]
print(x)
random.shuffle(x)
print(x)

源碼及注釋(個人翻譯注釋)

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.
 可選參數random是一個從0到參數的函數,返回[0.0,1.0)中的隨機浮點;
 如果random是缺省值None,則將使用標準的random.random()。
  """

  if random is None:
    randbelow = self._randbelow
    for i in reversed(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 in reversed(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]

random 中其他的方法

class Random(_random.Random):

  ## -------------------- integer methods -------------------
  def randrange(self, start, stop=None, step=1, _int=int):

  def randint(self, a, b):

  def _randbelow(self, n, int=int, maxsize=1 << BPF, type=type,
          Method=_MethodType, BuiltinMethod=_BuiltinMethodType):

  ## -------------------- sequence methods -------------------
  def choice(self, seq):

  def shuffle(self, x, random=None):

  def sample(self, population, k):

  def choices(self, population, weights=None, *, cum_weights=None, k=1):

  ## -------------------- uniform distribution -------------------
  def uniform(self, a, b):

  ## -------------------- triangular --------------------
  def triangular(self, low=0.0, high=1.0, mode=None):

  ## -------------------- normal distribution --------------------
  def normalvariate(self, mu, sigma):

  ## -------------------- lognormal distribution --------------------
  def lognormvariate(self, mu, sigma):

  ## -------------------- exponential distribution --------------------
  def expovariate(self, lambd):

  ## -------------------- von Mises distribution --------------------
  def vonmisesvariate(self, mu, kappa):

  ## -------------------- gamma distribution --------------------
  def gammavariate(self, alpha, beta):

  ## -------------------- Gauss (faster alternative) --------------------
  def gauss(self, mu, sigma):

  def betavariate(self, alpha, beta):

  ## -------------------- Pareto --------------------
  def paretovariate(self, alpha):

  ## -------------------- Weibull --------------------
  def weibullvariate(self, alpha, beta):

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • pytest用例間參數傳遞的兩種實現(xiàn)方式示例

    pytest用例間參數傳遞的兩種實現(xiàn)方式示例

    pytest提供了許多運行命令以供定制化運行某一類測試用例或者某個測試用例等,下面這篇文章主要給大家介紹了關于pytest用例間參數傳遞的兩種實現(xiàn)方式,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-12-12
  • python按照多個條件排序的方法

    python按照多個條件排序的方法

    今天小編就為大家分享一篇python按照多個條件排序的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • python實現(xiàn)requests發(fā)送/上傳多個文件的示例

    python實現(xiàn)requests發(fā)送/上傳多個文件的示例

    今天小編就為大家分享一篇python實現(xiàn)requests發(fā)送/上傳多個文件的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python保存字典和讀取字典的實例代碼

    python保存字典和讀取字典的實例代碼

    這篇文章主要介紹了python保存字典和讀取字典的實例代碼,通過代碼給大家介紹了python 使用列表和字典存儲信息的相關代碼,需要的朋友可以參考下
    2019-07-07
  • pandas創(chuàng)建DataFrame的7種方法小結

    pandas創(chuàng)建DataFrame的7種方法小結

    這篇文章主要介紹了pandas創(chuàng)建DataFrame的7種方法小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • pandas object格式轉float64格式的方法

    pandas object格式轉float64格式的方法

    下面小編就為大家分享一篇pandas object格式轉float64格式的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python實現(xiàn)微信跳一跳輔助工具步驟詳解

    python實現(xiàn)微信跳一跳輔助工具步驟詳解

    這篇文章主要介紹了python實現(xiàn)微信跳一跳輔助工具的步驟詳解以及使用說明,需要的朋友可以參考下
    2018-01-01
  • Python and、or以及and-or語法總結

    Python and、or以及and-or語法總結

    這篇文章主要介紹了Python and、or以及and-or語法總結,本文分別給出實例講解它們的使用方法,需要的朋友可以參考下
    2015-04-04
  • python網絡爬蟲基于selenium爬取斗魚直播信息

    python網絡爬蟲基于selenium爬取斗魚直播信息

    目前是直播行業(yè)的一個爆發(fā)期,由于國家對直播行業(yè)進行整頓和規(guī)范,現(xiàn)在整個直播行業(yè)也在穩(wěn)固發(fā)展。隨著互聯(lián)網和網絡直播市場的快速發(fā)展,相信未來還有廣闊的發(fā)展前景。今天用selenium爬取一下斗魚直播信息將代碼分享給大家
    2022-03-03
  • 詳解Python中for循環(huán)是如何工作的

    詳解Python中for循環(huán)是如何工作的

    如果你對python中的for循環(huán)不是很清楚,那么建議你看看這篇文章,本文主要給大家介紹了關于Python中for循環(huán)是如何工作的相關資料,介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-06-06

最新評論