有機率出現重複

tools.py

#!/usr/bin/env python3
# coding=utf-8
# Version:python3.6.1
# File:tools.py
import random
from datetime import datetime

__date__ = '2020/6/30 11:10'
__author__ = 'LGSP_Harold'


def gen_trans_id(date=None):
    """
    根據所傳入的時間得到一個唯一的交易流水ID
    :param date:日期
    :return:交易流水ID字符串
    """
    # 如果沒有傳入時間,則使用系統當前時間
    if date is None:
        date = datetime.now()
    # 保證字符串的唯一(日期+時間+毫秒+6位隨機數)
    date = date.strftime('%Y%m%d%H%M%S%f')
    date = date + str(random.randint(100000, 999999))
    # date = '{0}{1}'.format(date, random.randint(100000, 999999))
    return date


if __name__ == '__main__':
    pass

 

test_module.py

#!/usr/bin/env python3
# coding=utf-8
# Version:python3.6.1
# File:test_module.py
from datetime import datetime

from trans.tools import gen_trans_id

__date__ = '2020/6/30 11:36'
__author__ = 'LGSP_Harold'


def test_trans_tool():
    id1 = gen_trans_id()
    return id1
    # date = datetime(2016, 9, 9, 18, 27, 36)
    # id2 = gen_trans_id(date)
    # print(id2)


if __name__ == '__main__':
    trans_list = []
    for i in range(0, 10000):
        lst = test_trans_tool()
        trans_list.append(lst)
    print(trans_list)
    # 通過集合去重列表
    count_set = set(trans_list)
    # print(len(count_set))
    lst_str = set()
    for i in count_set:
        # 查找列表重複出現的元素
        if trans_list.count(i) > 1:
            lst_str.add(i)
            print(i, '', trans_list.count(i), '')
            index_list = []
            # 查找列表中某個元素出現的全部索引
            for index, nums in enumerate(trans_list):
                if nums == i:
                    index_list.append(index)
            print('索引位置:', index_list)
    if lst_str:
        print(lst_str)
    else:
        print('無重複')

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章