python3中shuffle函式要注意的地方

2021-08-20 10:47:01 字數 922 閱讀 5285

python3中shuffle函式要注意的地方!

1 shuffle函式與其他函式不一樣的地方

shuffle函式沒有返回值!shuffle函式沒有返回值!shuffle函式沒有返回值!僅僅是實現了對list元素進行隨機排序的一種功能

請看下面的坑

1.1 誤認為shuffle函式會有乙個返回值的錯誤例子

num1 = list(range(1

,39526)) #產生1-39525的數

num2 = random.shuffle(num1)

num3 = num2[0:30000] #取前30000個行號的元素

num4 = num2[30000:39524] #取到後面9525個元素

執行結果:

file "e:/pythonproj/test2/readdatasetcsvfile.py", line 122, in

num3 = num2[0:30000] #取前30000個行號的元素

typeerror: 'nonetype' object is not subscriptable

從這個錯誤中我們也可以看出來,指明obiect沒有型別,其實現在這個num2中是null,什麼也沒有,因為shuffle沒有返回值,所以自然會報這種型別的錯誤。

1.2 正確使用shuffle函式的例子

num1 = list(range(1

,39526)) #產生1-39525的數

random.shuffle(num1) #注意shuffle沒有返回值,該函式完成一種功能,就是對list進行排序打亂

num3 = num1[0:30000] #取前30000個行號的元素

num4 = num1[30000:39524] #取到後面9525個元素

這個時候才順利執行通過!

python3中異常處理 Python3異常處理

python的異常處理機制 使用 try.except 捕獲異常 try 業務實現 except error1,error2,as e 出現異常後的處理 異常類的繼承關係 baseexception systemexit keyboardinterrupt generatorexit excepti...

python3怎麼賦值 python3中賦值問題?

我閒著沒事乾來詳細回答一波。phthon的物件實際儲存在記憶體上,而變數名對應了乙個位址,位址指向了那一塊記憶體。在第一例中,python在記憶體中開出了一片用來儲存int值1,然後將它的位址賦值給a,接下來a把位址賦值給b。此時a,b指向同乙個int值物件。後來b 1的操作做的是先計算b 1,計算...

python3中文長度 python3獲得漢字長度

import string def str count str 找出字串中的中英文 空格 數字 標點符號個數 count en count dg count sp count zh count pu 0 for s in str 英文 if s in string.ascii letters cou...