Тестируем скорость поиска в списках и во множествах python

22 0

Без лишних слов:

def tst_in_set_list():                                                                                        
    lst = [x for x in range(1000000)]
    start_time = time.time()
    print('in lst:', 500 in lst)                                                                              
    print('in lst elapsed time:', time.time() - start_time)          
 
    set_1 = {x for x in range(100000)}
    start_time = time.time()
    print('in set:', 500 in set_1)
    print('in set elapsed time:', time.time() - start_time)

    start_time = time.time()
    print('intersection set:', bool({500} & set_1))
    print('intersection set elapsed time:', time.time() - start_time)

4 теста:

In [19]: tst_in_set_list()
in lst: True
in lst elapsed time: 4.00543212890625e-05
in set: True
in set elapsed time: 1.1920928955078125e-05
intersection set: True
intersection set elapsed time: 1.1205673217773438e-05

In [20]: tst_in_set_list()
in lst: True
in lst elapsed time: 5.5789947509765625e-05
in set: True
in set elapsed time: 1.7881393432617188e-05
intersection set: True
intersection set elapsed time: 1.049041748046875e-05

In [21]: tst_in_set_list()
in lst: True
in lst elapsed time: 4.6253204345703125e-05
in set: True
in set elapsed time: 1.7881393432617188e-05
intersection set: True
intersection set elapsed time: 1.621246337890625e-05

In [22]: tst_in_set_list()
in lst: True
in lst elapsed time: 3.170967102050781e-05
in set: True
in set elapsed time: 1.5497207641601562e-05
intersection set: True
intersection set elapsed time: 1.0013580322265625e-05


Контактные данные

 Россия, г. Москва