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:
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:
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
start = time.time()
for i in range(1000):
randomnumbers(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
>>>
可見:
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...