python集合常見運算案例解析

2022-09-29 06:00:11 字數 1756 閱讀 2238

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...