python生成不重複隨機數放在列表中的效率比較
import random
import time
def randomnumbers(number, start, end):
'''使用列表來生成number個介於start和end之間的不重複隨機數'''
data =
n = 0
while true:
element = random.randint(start, end)
if element not in data:
data.append(element)
n += 1
if n == number - 1:
break
return data
def randomnumbers1(number, start, end):
'''使用列表來生成number個介於start和end之間的不重複隨機數'''
data = 程式設計客棧
while true:
element = random.randint(start, end)
if element not in data:
data.append(element)
if len(data) == number:
break
return data
def randomnumbers2(number, start, end):
'''使用集合來生成number個介於start和end之間的不重複隨機數'''
data = set()
while true:
data.add(random.randint(start, end))
if len(data) == number:
break
return data
程式設計客棧stawww.cppcns.comrt = time.time()
for i in range(1000):
ran程式設計客棧domnumbers(1000, 1, 10000)
print('time used:', time.time()-start)
start = time.time()
for i in range(1000):
randomnumbers1(程式設計客棧1000, 1, 10000)
print('time used1:', time.time()-start)
start = time.time()
for i in range(1000):
randomnumbers2(1000, 1, 10000)
print('time used2:', time.time()-start)
得到的結果是
******************** restart: c:/users/xuzm/desktop/比較.py ********************
time used: 24.607422828674316
time used1: 24.069069623947144
time used2: 4.816216945648193
>>>
可見:append方法對空裂變追加元素的方法效率遠不及add方法
ps:這裡再提供幾款相關工具供大家參考使用:
**隨機數生成工具:
**隨機生成個人資訊資料工具:
**隨機字元/隨機密碼生成工具:
**隨機數字/字串生成工具:
python集合運算案例
python生成不重複隨機數放在列表中的效率比較 import random import time def randomnumbers number,start,end 使用列表來生成number個介於start和end之間的不重複隨機數 data n 0 while true element r...
python案例 Python爬蟲案例集合
urllib2 在python2.x裡面有urllib和urllib2 在python3.x裡面就把urllib和urllib2合成乙個urllib urllib3是在python3.x了裡面新增的第三方擴充套件。urllib2 官方文件 urllib2 原始碼 urllib2 在 python3....
python集合補運算 Python集合及其運算
集合 set 集合是由不同可hash的值組成的,裡面所有的值都是唯一的,也是無序的 集合的建立 set test 把值放入中 lis name age hometown set test set lis set test 利用set 函式,把其他型別轉換為set list test name age...