利用Python怎么生成8位數(shù)的id?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
#!/usr/bin/env python # -*- coding:utf-8 -*- ''' @CreateTime: 2020/07/14 11:04 @Author : shouke ''' import uuid array = [ "0", "1", "2", "3", "4", "5","6", "7", "8", "9", "a", "b", "c", "d", "e", "f","g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s","t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I","J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V","W", "X", "Y", "Z" ] def get_short_id(): id = str(uuid.uuid4()).replace("-", '') # 注意這里需要用uuid4 buffer = [] for i in range(0, 8): start = i * 4 end = i * 4 + 4 val = int(id[start:end], 16) buffer.append(array[val % 62]) return "".join(buffer)
id_set = set() # 用于存放生成的id count = 0 # 用于統(tǒng)計(jì)出現(xiàn)重復(fù)的次數(shù) index = [] # 記錄第幾次調(diào)用生成8位id出現(xiàn)重復(fù) for i in range(0, 20000000): id = get_short_id() if id in id_set: count += 1 index.append(str(i+1)) else: id_set.add(id) print('id:%s, 運(yùn)行第 %s 次, 重復(fù)數(shù):%s , 重復(fù)率:%s, 出現(xiàn)重復(fù)次序 %s' % (id, i+1, count, count/(i+1)*100, ','.join(index)))
補(bǔ)充:用python隨機(jī)生成以2019開(kāi)頭的10個(gè)8位數(shù)的學(xué)號(hào)
import random意思是引入內(nèi)置模塊random,j代表著
行數(shù),range()是一個(gè)隨機(jī)生成數(shù)字的函數(shù),i控制著
每行的個(gè)數(shù),str()表示是轉(zhuǎn)化為字符串的類型
看完上述內(nèi)容,你們掌握利用Python怎么生成8位數(shù)的id的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
新聞標(biāo)題:利用Python怎么生成8位數(shù)的id-創(chuàng)新互聯(lián)
文章地址:http://aaarwkj.com/article48/dopphp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站改版、全網(wǎng)營(yíng)銷推廣、網(wǎng)站營(yíng)銷、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容