溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

列表怎么用python3代碼完成排序

發(fā)布時間:2020-12-04 09:45:00 來源:億速云 閱讀:155 作者:小新 欄目:編程語言

這篇文章主要介紹列表怎么用python3代碼完成排序,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

shuffle()函數(shù)是將列表的所有元素隨機(jī)排序。

有時候我們的任務(wù)中會使用到隨機(jī)sample一個數(shù)據(jù)集的某些數(shù),比如一個文本中,有10行,我們需要隨機(jī)選取前5個。

那么我們就可以采取shuffle()函數(shù),然后list中放入1-10個行號,利用shuffle()函數(shù)之后,序號就打亂了。

這個時候,我們選取前5個元素即可。就起到了隨機(jī)打亂的結(jié)果了。

代碼:

# -*- coding: UTF-8 -*-
#代碼功能是測試一下shuffle()函數(shù)
import random
number = []
for index in range(1,11):
    number.append(index)
 
random.shuffle(number)
for index in range(5):
print number[index]

 

通過 Fisher-Yates 算法對新列表進(jìn)行排序,該算法會打亂列表元素的順序:

from copy import deepcopy
from random import randint
 
def shuffle(lst):
    temp_lst = deepcopy(lst)
    m = len(temp_lst)
    while (m):
        m -= 1
        i = randint(0, m)
        temp_lst[m], temp_lst[i] = temp_lst[i], temp_lst[m]
    return temp_lst
 
 
foo = [1,2,3]
shuffle(foo) # [2,3,1] , foo = [1,2,3]

以上是“列表怎么用python3代碼完成排序”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI