uma_lista = [1, 2, 3, 4] * 1000
outra_lista = [3, 4, 5, 6] * 1000
from timeit import timeit
# executa 10 vezes cada teste
params = { 'number': 10, 'globals': globals() }
# imprime os tempos em segundos
# list comprehension
print(timeit('[elemento for elemento in uma_lista if elemento in outra_lista]', **params))
# set
print(timeit('set(uma_lista) & set(outra_lista)', **params))
# set + transformar o resultado em lista
print(timeit('list(set(uma_lista) & set(outra_lista))', **params))
dW1hX2xpc3RhID0gWzEsIDIsIDMsIDRdICogMTAwMApvdXRyYV9saXN0YSA9IFszLCA0LCA1LCA2XSAqIDEwMDAKCmZyb20gdGltZWl0IGltcG9ydCB0aW1laXQKCiMgZXhlY3V0YSAxMCB2ZXplcyBjYWRhIHRlc3RlCnBhcmFtcyA9IHsgJ251bWJlcic6IDEwLCAnZ2xvYmFscyc6IGdsb2JhbHMoKSB9CgojIGltcHJpbWUgb3MgdGVtcG9zIGVtIHNlZ3VuZG9zCiMgbGlzdCBjb21wcmVoZW5zaW9uCnByaW50KHRpbWVpdCgnW2VsZW1lbnRvIGZvciBlbGVtZW50byBpbiB1bWFfbGlzdGEgaWYgZWxlbWVudG8gaW4gb3V0cmFfbGlzdGFdJywgKipwYXJhbXMpKQojIHNldApwcmludCh0aW1laXQoJ3NldCh1bWFfbGlzdGEpICYgc2V0KG91dHJhX2xpc3RhKScsICoqcGFyYW1zKSkKIyBzZXQgKyB0cmFuc2Zvcm1hciBvIHJlc3VsdGFkbyBlbSBsaXN0YQpwcmludCh0aW1laXQoJ2xpc3Qoc2V0KHVtYV9saXN0YSkgJiBzZXQob3V0cmFfbGlzdGEpKScsICoqcGFyYW1zKSkK