fork download
  1. def create_set(values):
  2. return set(dict.fromkeys(values))
  3.  
  4. # em vez de sample, vou criar uma lista com todos os números pares de 2 a 500
  5. # só para o teste não depender de aleatoriedade
  6. l1 = list(range(2, 501, 2))
  7.  
  8. from timeit import timeit
  9.  
  10. # executa mil vezes cada teste
  11. params = { 'number' : 1000, 'globals': globals() }
  12.  
  13. # imprime os tempos em segundos (for demora mais que set)
  14. print(timeit('l2 = list(range(1000))\nl2 = list(create_set(l2) - create_set(l1))', **params))
  15. print(timeit('l2 = list(range(1000))\nfor i in l1:\n l2.remove(i)', **params))
Success #stdin #stdout 0.66s 9892KB
stdin
Standard input is empty
stdout
0.10240193456411362
0.5275315493345261